我有一个看起来像这样的 Web 表单应用程序。
public partial class MyPage : Page
{
private static bool _changed = false;
protected void btnSave_Click(object sender, EventArgs e)
{
if(_changed)
{
//some code here
}
}
protected void btnCancel_Click(object sender, EventArgs e)
{
Response.Redirect("~/MyPage.aspx");
}
protected void dropdownlist_SelectedIndexChanged(object sender, EventArgs e)
{
_changed = true;
}
}
所以我想要做的要点是我有一个表单,其中包含一个下拉列表和一个保存按钮。如果用户对下拉列表进行了更改,我将私有布尔值changed
设置为 true。默认情况下,它是假的。
由于某种我不明白的原因,即使它从未访问过该方法,changed
当它到达该方法时也是如此,这是我的代码中唯一设置为真的地方。btnSave_click
dropdownlist_selectedIndexChanged
changed
标记:
<asp:DropDownList ID="myDropDown" runat=server" OnSelectedIndexChanged="dropdownlist_SelectedIndexChanged" AutoPostBack="true">
<asp:ListItem Value="True">Yes</asp:ListItem>
<asp:ListItem Value="False">No</asp:ListItem>
<asp:Button ID="btnSave" Text="Save" OnClick="btnSave_Click" runat="server" />