3

チェックボックスを選択して複数の行を選択し、削除操作を実行すると、以下のコードでチェックボックスが true を返さないように見えます。

protected void Button6_Click(オブジェクト送信者, EventArgs e) {

        foreach (GridViewRow row in GridView1.Rows)
        {
            LinkButton ch = new LinkButton();
            ch = (LinkButton)row.FindControl("l1");
            id = Convert.ToInt16(ch.CommandArgument);
            CheckBox chs = new CheckBox();
            chs = ((CheckBox)row.FindControl("c1"));

            if (chs.Checked == true)
            {
                DeleteSelected(id);
            }
        }
    }

private void DeleteSelected(short id)
{
    var ch = from a in empd.Employees where (a.ID == id) select a;
    empd.Employees.DeleteAllOnSubmit(ch);
    empd.SubmitChanges();
    display_emp();
}

誰かがCheckBox関数の呼び出しで真の値を返さない理由を教えてください。

接続をすべて修正しました。データベースを更新してください。以下のリンクから Web アプリケーションを入手してください。

http://www.ziddu.com/download/20716096/WebApplication.zip.html 選択したチェックボックスがコードで true を返さない理由を教えてください。

4

1 に答える 1

1

詳細:最初に if(IsPostback) を追加しないと、グリッド コントロールがリセットされます。以下の例

解決:

 if (!IsPostBack)
 {
     empd = new Employee_DetailsDataContext();
     empd.Connection.ConnectionString = ConfigurationManager.ConnectionStrings["DemosConnectionString1"].ConnectionString;

     display_emp();
 }
于 2012-10-26T11:12:43.130 に答える