0

checkboxes値が変更されたときにdropdownlist、新しい値を渡しながらページを更新したいことがあります。使ってみautopostbackた; ただし、値は以前に URL に既に含まれているため、ポストバックが発生しても値は変更されません。

例:

CurrentPage: page.aspx?tab=Home&checkbox=True

次に、チェックボックスをオフにして、次のページに移動したいのですが...

IntendedPage: page.aspx?tab=Home&checkbox=False

しかし、代わりに、自動ポストバックによってこのページが表示されます...

DestinationPage: page.aspx?tab=Home&checkbox=True

なぜなら、ページの関数を介して URL の構築を処理するからです。おそらく、この時点で何か間違ったことをしているのでしょう。もしそうなら、私は現在の設定で修正されてうれしいです. 私が知る必要があると思うのは、checkbox.checkchanged イベントでカスタム URL をロードする方法です。これが理にかなっていることを願っています。そうでない場合は、明確にしてみます。ありがとう!

4

3 に答える 3

2

このようなことを試すことができます(私はテストしていません。それは単なるアイデアでした)。

 protected void CheckBox1_CheckedChanged ( object sender, EventArgs e )
    {
        string url = "page.aspx?tab=Home&checkbox="+ CheckBox1.Checked.ToString();
        Response.Redirect ( url );
    }

そして、ページで:

<asp:CheckBox ID="CheckBox1" runat="server" 
oncheckedchanged="CheckBox1_CheckedChanged" />

VB.NET 変換

Protected Sub CheckBox1_CheckedChanged(sender As Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged
       Dim url = "page.aspx?tab=Home&checkbox=" & CheckBox1.Checked.ToString()
       Response.Redirect(url)
End Sub
于 2012-09-25T14:05:00.897 に答える
0

これは、javascript を使用して非常に簡単に実行できます。最初にonclick="checkCheckBox(this);"チェックボックスに追加します。

<script language = "javascript" type="text/javascript"> 
function checkCheckBox(checkbox) {
        if (checkbox.checked) {
            window.location.href = '../page.aspx?tab=Home&checkbox=True';
        }
        else {
            window.location.href = '../page.aspx?tab=Home&checkbox=False';
        }
    }
</script>

これはかなり簡単にできるはずです。

于 2012-09-25T17:26:23.630 に答える