2

私はasp.netで電子メールを送信しようとします。管理者がチェックボックスを選択すると、彼/彼女はそれぞれの電子メールIDにメールを送信でき、電子メールはusersテーブルのデータベースにも保存されます..しかし、コードをビルドするとエラーが表示されます

コードは

protected void chkSelectAll_CheckedChanged(object sender, EventArgs e)
{
    CheckBox chkAll =
           (CheckBox)Repeateremail.HeaderRow.FindControl("chkSelectAll");
    if (chkAll.Checked == true)
    {
        foreach (GridViewRow gvRow in Repeateremail.Items)
        {
            CheckBox chkSel =
                     (CheckBox)gvRow.FindControl("chkSelect");
            chkSel.Checked = true;
        }
    }
    else
    {
        foreach (GridViewRow gvRow in Repeateremail.Items)
        {
            CheckBox chkSel = (CheckBox)gvRow.FindControl("chkSelect");
            chkSel.Checked = false;
        }
    }
}

この行で

CheckBox chkAll =
           (CheckBox)Repeateremail.HeaderRow.FindControl("chkSelectAll");

ヘッダーエラーにエラーが表示されます

「System.Web.UI.WebControls.Repeater」には「HeaderRow」の定義が含まれておらず、タイプ「System.Web.UI.WebControls.Repeater」の最初の引数を受け入れる拡張メソッド「HeaderRow」が見つかりませんでした (あなたはusing ディレクティブまたはアセンブリ
参照がありませんか?)

htmlのように、ヘッダーテンプレートでこのように使用します

<td>
    Check
    <asp:CheckBox ID="chkSelectAll" runat="server"
                  AutoPostBack="true"
                  OnCheckedChanged="chkSelectAll_CheckedChanged"/>
    Send Mail To All ?                     
</td>

および項目テンプレートで

<td>
    <asp:CheckBox ID="chkSelect" runat="server"/>
</td>
4

1 に答える 1