ASP.NETのCheckBoxの状態とポストバック
質問
チェックボックスの状態変更のページへのリンクを変更するには - -
私は、単純なタスクを持っているが、私はASP.NETに新たなんだといくつかの問題がある。
。私はは、HTMLControlとJavaScriptを使用して同じ行うことができます:
<script type="text/javascript" language="javascript">
function checkbox_onChanged(checked) {
if (checked) {
document.location = '?type=request_in&show=all';
}
else {
document.location = '?type=request_in&show=unapproved';
}
}
function checkbox_onLoad(checkbox) {
checkbox.checked = true;
}
</script>
<form action="" method="get">
<input type="checkbox" name="checkbox"
onload="checkbox_onLoad(this)"
onchange="checkbox_onChanged(this.checked)" />Show all
</form>
私は、ユーザーからそれを非表示にします。だから私はやるます:
<asp:CheckBox runat="server" ID="check"
OnCheckedChanged="check_CheckedChanged"
AutoPostBack="True" Text="Show all" />
protected void check_CheckedChanged(object sender, EventArgs e)
{
Response.Redirect(String.Format("{0}?type=request_in&show={1}", Request.Path,
checkViewRequestIn.Checked ? "all" : "unapproved"));
}
protected void Page_Load(object sender, EventArgs e)
{
var show = Request["show"];
if (!String.IsNullOrEmpty(show) && String.Equals(show, "all"))
{
checkViewRequestIn.Checked = true;
}
}
しかし、負荷にそのチェック状態変化が再びイベントを発生させ、チェックボックスは常にチェックになりそうです!
答別の質問 - それはファイル名です与えることなく、同じページにリダイレクトする他の方法がありますか?私には、JavaScriptのように意味 - だけ必要な変数を与える。
?解決
あなたは、ただのPage_Loadから「のonchange」を追加し、ASP.NETチェックボックスから「checkbox_onChanged」クライアント・サイドを呼び出すことができます例えばます:
protected void Page_Load(object sender, EventArgs e)
{
check.Attributes["onchange"] = "checkbox_onChanged(this.checked)";
}
ソースを表示し、中に何が起こっているかがわかりますHTML ..
所属していません StackOverflow