Asp.net asp可以';在datagridview中检测不到选中的项
我有一个带有复选框列的gridview,我的用户可以通过复选框选择该项目,因此我在gridview中添加了一个复选框列:Asp.net asp可以';在datagridview中检测不到选中的项,asp.net,Asp.net,我有一个带有复选框列的gridview,我的用户可以通过复选框选择该项目,因此我在gridview中添加了一个复选框列: <asp:GridView ID="taminkonandeh" runat="server" CssClass="gv-list-company-col-edit" ShowHeaderWhenEmpty="True" AutoGenerateColumns="False" EnableModelValidation="True">
<asp:GridView ID="taminkonandeh" runat="server" CssClass="gv-list-company-col-edit" ShowHeaderWhenEmpty="True" AutoGenerateColumns="False" EnableModelValidation="True">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<asp:CheckBox ID="ChTaminKonande" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="شماره " DataField="companyid" >
<HeaderStyle CssClass="gv-list-company-header" />
<ItemStyle CssClass="gv-list-company-col" />
</asp:BoundField>
<asp:BoundField HeaderText="نام شرکت " DataField="companyname">
<HeaderStyle CssClass="gv-list-company-header" />
<ItemStyle CssClass="gv-list-company-col" />
</asp:BoundField>
<asp:BoundField HeaderText="شماره ثبت " DataField="registrationNumber" >
<HeaderStyle CssClass="gv-list-company-header" />
<ItemStyle CssClass="gv-list-company-col" />
</asp:BoundField>
<asp:BoundField HeaderText="شماره اقتصادی" DataField="noEconomic" >
<HeaderStyle CssClass="gv-list-company-header" />
<ItemStyle CssClass="gv-list-company-col" />
</asp:BoundField>
</Columns>
<HeaderStyle CssClass="gv-list-company-header" />
<RowStyle CssClass="gv-list-company-row"/>
</asp:GridView>
我的代码是:
for (int i = 0; i < taminkonandeh.Rows.Count; i++)
{
CheckBox chinvi = (CheckBox)taminkonandeh.Rows[i].FindControl("ChTaminKonande");
if (chinvi != null)
{
if (chinvi.Checked)
{
Count++;
comid = taminkonandeh.Rows[i].Cells[1].Text;
tblAnnouncePriceByCompany objanno = new tblAnnouncePriceByCompany();
objanno.letterId = objletter.letterId.ToString();
objanno.companyId = comid;
objanno.tenderId = Session["letterTenderId"].ToString();
db1.tblAnnouncePriceByCompanies.InsertOnSubmit(objanno);
}
}
else
{
ScriptManager.RegisterStartupScript(this, this.GetType(), "myalert",
"alert('تامین کننده ای انتخاب نشده است ')", true);
return;
}
}
for(int i=0;i
但是“chinvi.Checked”条件始终为false,并且我无法检测选择了哪些复选框。当您在pageload中绑定gridview,并且每次回发都会重新绑定它时,会出现这种情况,并删除发布的值,如下所示:
protected void Page_Load(object sender, EventArgs e)
{
//Code to get datasource
taminkonandeh.DataSource = myDataSource;
taminkonandeh.DataBind();
}
您需要将其更改为:
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
//Code to get datasource
taminkonandeh.DataSource = myDataSource;
taminkonandeh.DataBind();
}
}