私は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>