首页 > 解决方案 > 单击按钮后保留表单的字段

问题描述

在尝试保留 myform的字段时,包括:

<select ...>
<option></option>
</select>

从我的page.aspx,点击后submit button

<input type="button" id="btnEn" value="Submit" runat="server" onserverclick="btnCalc_Click" style="margin-left:30px; border-radius:0; width:50px; font-size:14px;background-color:#c1c1c1"/>

我已经修改了form's tagwith onsubmit="return false"

但是它看起来像onsubmit="return false"停用btnEn了,因为它不再调用protected void btnCalc_Click(object sender, EventArgs e)page.cs

我尝试了其他涉及 的解决方案UpdatePanel,但没有产生预期的结果:在单击后调用, selectedbtnCalc_Click() method中显示的表单值。textboxesdropdown list

因此,任何想法(如果后者代表解决此问题的灵丹妙药,最好使用最少的 javascript)将不胜感激,因为我想继续调用我的bntCalc(用 C# 编写)。

谢谢

标签: c#htmlasp.net

解决方案


您应该使用服务器控件而不是 html 元素。

ASP.Net Webforms DropDownList 控件呈现一个选择和一组选项标记,并使用 ViewState 维护状态。

例如,这段代码:

<asp:DropDownList ID="ddl" runat="server">
    <asp:ListItem Text="Value 1" Value="1"></asp:ListItem>
    <asp:ListItem Text="Value 2" Value="2"></asp:ListItem>
    <asp:ListItem Text="Value 3" Value="3"></asp:ListItem>
</asp:DropDownList>

将呈现为:

<select name="ddl" id="ddl">
    <option value="1">Value 1</option>
    <option value="2">Value 2</option>
    <option value="3">Value 3</option>
</select>

默认情况下将保留选定的值。在 web 表单中,您可以使用 this.ddl.SelectedValue 访问控件值。

注意:javascript 事件处理程序中的“return false”会取消该事件。是标准的 html/javascript 行为。


推荐阅读