我有一个非常标准的母版页和ContentPlaceHolder。
<section class="content" style="height:100%;">
<form id="contentForm" runat="server">
<div class="container" style="background:#fff; border:30px solid #fff; height:80%;">
<div class="row" style="height:100%;">
<section class="span8" role="main" style="height:100%;">
<asp:ContentPlaceHolder Id="MainContent" runat="server" />
</section>
</div>
</div>
</form>
</section>
在ContentPlaceHolder中我有一个包含下拉列表和文本框的usercontrol。
使用主页面中的from标记,如果我更改下拉选项,页面将按预期提交,并且表单字段将保留其选定的值。现在,我需要从Master页面中删除from标记,因为它会导致其他一些页面失败。我想将表单标记放在usercontrol中。
<form id="trackingForm" runat="server">
<div id="employee" class="statsTable"><strong>Employee:</strong>
<asp:DropDownList ID="selectPerson_DDL" runat="server" Width="200" AutoPostBack="true" onselectedindexchanged="selectPerson_DDL_SelectedIndexChanged"></asp:DropDownList>
</div>
</form>
该页面仍然像以前一样提交,但现在我在下拉列表中丢失了所选值。我已经尝试了各种选项,例如检查Page.IsPostBack等。我看到在提交表单后存在ViewState。
为什么控制行为会因为form标签现在位于usercontrol中而改变?
答案 0 :(得分:0)
将表单放在asp:updatepanel控件中可以解决问题。