积极答复者
加了母版页后 name 被修改

问题
答案
-
如果想一劳永逸,最好重写用到的控件,只需要继承原来的控件,然后重写Render(注意是Render),之后替换其中的ClientID就可以,Replace就行
或者就是不使用模板页,使用用户控件来代替母版,用户控件会在控件里面也更改ID,但仅限于控件里面
使用服务器控件比较好,主要是得益于ViewState,当然也可以自己写支持ViewState的服务器控件,在企业级开发的时候,比Html控件有用
只要加入runat="server" 都会被页面解析器翻译成服务器控件
- 已建议为答案 gsralexModerator 2012年1月1日 13:03
- 已标记为答案 gsralexModerator 2012年1月4日 12:05
全部回复
-
那就不要加runat="server"
然后在后台代码用Request.Form["name"]的方式取值
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="Default3.aspx.cs" Inherits="Default3" %> <asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server"> <input type="text" id="txt_test" name="txt_test" /> <asp:Button runat="server" ID="btn_Go" Text="submit" onclick="btn_Go_Click" /> </asp:Content>
protected void btn_Go_Click(object sender, EventArgs e) { Response.Write(Request.Form["txt_test"]); }
执行结果:
Reference:这个被添加的前缀从何而来?
Shadowと愉快なコード達 -
-
如果想一劳永逸,最好重写用到的控件,只需要继承原来的控件,然后重写Render(注意是Render),之后替换其中的ClientID就可以,Replace就行
或者就是不使用模板页,使用用户控件来代替母版,用户控件会在控件里面也更改ID,但仅限于控件里面
使用服务器控件比较好,主要是得益于ViewState,当然也可以自己写支持ViewState的服务器控件,在企业级开发的时候,比Html控件有用
只要加入runat="server" 都会被页面解析器翻译成服务器控件
- 已建议为答案 gsralexModerator 2012年1月1日 13:03
- 已标记为答案 gsralexModerator 2012年1月4日 12:05