0

リピーターの内部には html のチェックボックスがあります。コード ビハインド ファイルでこのチェックボックスにアクセスして、チェックボックスがオンになっているかどうかを確認したいと考えています。しかし、私は runat="server" tag を使用したくありません。上記のように私のコードをどのように行うことができますか

 <input id="cbfdgroup" class="checkitem" type="checkbox" name="fd_cb_group[]" value='<%#Eval("FoodItemsUid") %>'>

コードビハインドファイルで、このようにアクセスしようとしています

foreach (RepeaterItem ri in rptMenu.Items)
        {
            if (ri.ItemType == ListItemType.Item || ri.ItemType == ListItemType.AlternatingItem)
            {
                HtmlInputCheckBox chk = (HtmlInputCheckBox)ri.FindControl("cbfdgroup");

                if (chk.Checked)
                {
                }
            }
        }

しかし、オブジェクト参照がオブジェクトのインスタンスに設定されていないため、これはエラーを引き起こしています.. runat = "server" タグを使用せずにコード ビハインド ファイルでこのコントロールを取得するにはどうすればよいですか

4

3 に答える 3

0

リピーターからアイテムを読み取る必要はありません

サーバーにポストバックを送信していると仮定します(httpポスト)

選択したチェックボックスを読み取るには、次のようにします。

string x = Request["fd_cb_group[]"];

それはコンマで区切られる1以上です。選択された値の文字列のリストを取得するには分割を使用してください。

全体は次のようになります。

        protected void Button1_Click(object sender, EventArgs e)
    {
        string x = Request["fd_cb_group[]"];

        string[] allSelectedOnes = x.Split(',');

        foreach(string item in allSelectedOnes)
        {
            //your custom code for the selected checkboxes
        }
    }
于 2012-04-09T18:37:40.987 に答える