마스터 페이지가 적용된 아래 양식을 제출하려고합니다.마스터 페이지에서 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 페이지에 내가 ID가 "YourAge"하지만 제출 된 폼 요소 식별자와 텍스트 상자에 입력 한 이름을 인쇄하려면 아래의 코드를
Response.Write(Request.Form["YourName"].ToString());
예상되는 동작입니다 사용하고있어
아래와 같이 변경ctl00 $ MainContent $ Yourname 활용할
왜 이런 일이 발생 하는가? 나는 양식을 제출할 때이 "ctl00 $ MainContent $"부분을 제거 할 ID가 "Yourname 활용할"
으로 컨트롤의 값을 얻을 필요가있다. 양식 값을 검색하는 것은 필자의 범위를 벗어 났으며 일부 다른 사람들이 수행했습니다. 양식 값은 "ctl00 $ MainContent $ YourName"이 아닌 "YourName"으로 제출되어야합니다.
chamara가 ASP.NET 4.0 클라이언트 ID 모드를 정적으로 사용하고 있기 때문에 id가 woul로 렌더링되므로 그냥 "YourName"이 될 것입니다 – Ramesh
그가 Client ID 모드가 정적 인 ASP.NET 4.0을 사용하는 곳은 어디입니까? –
ClientIDMode = "정적"은 ASP.NET 4.0 기능입니다. 심판 : http://www.west-wind.com/weblog/posts/2009/Nov/07/ClientIDMode-in-ASPNET-40 – Ramesh