我想提交下面的表格,其中应用母版页。POST方法问题与母版页
<asp:Content ID="BodyContent" runat="server" ContentPlaceHolderID="MainContent">
<p>
What is your name?
<asp:TextBox ID="YourName" runat="server" ClientIDMode="Static"></asp:TextBox>
</p>
<p>
What is your age?
<asp:TextBox ID="YourAge" runat="server" Columns="3" ClientIDMode="Static"></asp:TextBox>
</p>
<p>
What is your favorite color?<br />
<asp:RadioButtonList ID="FavoriteColor" runat="server" ClientIDMode="Static">
<asp:ListItem Selected="True">Red</asp:ListItem>
<asp:ListItem>Green</asp:ListItem>
<asp:ListItem>Blue</asp:ListItem>
</asp:RadioButtonList>
</p>
<p>
<asp:CheckBox ID="EatGreenEggsAndHam" runat="server" Checked="True" ClientIDMode="Static"
Text="Will You Eat Green Eggs and Ham?" TextAlign="Left" />
</p>
<p>
<asp:Button ID="SubmitButton" runat="server" Text="Submit Form"
PostBackUrl="~/About.aspx"
onclick="SubmitButton_Click" />
</p>
</asp:Content>
我想使用POST方法从表单中获取提交的数据。
在About.aspx页我用下面的代码
Response.Write(Request.Form["YourName"].ToString());
预期的行为是打印在id为“YourAge”,但提交的表单元素ID文本框中键入名称已更改像下面
ctl00 $ $搜索Maincontent提供yourname
为什么会发生这种情况?我需要id为“YOURNAME”
得到控制的价值我想提交表单时删除该“ctl00 $ $搜索Maincontent”的一部分。检索表单值超出了我的范围,它由其他人完成。他们只需要将表单值提交为“YourName”而不是“ctl00 $ MainContent $ YourName”
中的值由于chamara使用ASP.NET 4.0客户端ID模式作为静态,所以该呈现的名称d只是“YourName” – Ramesh
它在哪里说他正在使用客户端ID模式为静态的ASP.NET 4.0? –
ClientIDMode =“Static”是ASP.NET 4.0的一项功能。 ref:http://www.west-wind.com/weblog/posts/2009/Nov/07/ClientIDMode-in-ASPNET-40 – Ramesh