そのような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 に設定します。デフォルトでは、false です。
私が理解していない何らかの理由で、メソッドにアクセスしたことがなくても、changed
メソッドに到達すると true になります。これは、コード内で true に設定される唯一の場所です。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" />