我现在用的是GridView自带的更新模板列,
我在其中一个模板列中添加了HiddenField控件,但
在下面这个时间里面老找不到HiddenField1实例
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
HiddenField hiden_FitemID = (HiddenField)GridView1.Rows[e.RowIndex].Cells[3].FindControl("HiddenField1");
if (hiden_FitemID != null)
{
int FitemID = int.Parse(hiden_FitemID.Value.ToString());
string Fname = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text.Replace(" ", "").Trim();
string Details = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[1])).Text.Replace(" ", "").Trim();
if (Fname == "")
{
return;
}
else
{
if (CSCompany1.UpdatePan(Fname, FitemID))
{
CSCompany1.UpdateCompany(FitemID, Fname, Details);
GridView1.EditIndex = -1;
FillGridView();
}
}
}
}
我在其中一个模板列中添加了HiddenField控件,但
在下面这个时间里面老找不到HiddenField1实例
protected void GridView1_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
HiddenField hiden_FitemID = (HiddenField)GridView1.Rows[e.RowIndex].Cells[3].FindControl("HiddenField1");
if (hiden_FitemID != null)
{
int FitemID = int.Parse(hiden_FitemID.Value.ToString());
string Fname = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[1].Controls[1])).Text.Replace(" ", "").Trim();
string Details = ((TextBox)(GridView1.Rows[e.RowIndex].Cells[2].Controls[1])).Text.Replace(" ", "").Trim();
if (Fname == "")
{
return;
}
else
{
if (CSCompany1.UpdatePan(Fname, FitemID))
{
CSCompany1.UpdateCompany(FitemID, Fname, Details);
GridView1.EditIndex = -1;
FillGridView();
}
}
}
}
换成Label,display=none试试看.
<asp:DropDownList ID="ddlSort" runat="server" Width="98%">
</asp:DropDownList>
<asp:HiddenField ID="Hd_Sort" runat="server" Value=' <%# Eval("BalSort")%>' />
</ItemTemplate>
protected void gv_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowIndex != -1)
{ if (e.Row.RowState == DataControlRowState.Edit || e.Row.RowState == (DataControlRowState.Alternate | DataControlRowState.Edit))
{
((DropDownList)e.Row.FindControl("ddlSort")).SelectedValue = ((HiddenField)e.Row.FindControl("Hd_Sort")).Value;
}
}
}protected void gv_RowEditing(object sender, GridViewEditEventArgs e)
{
gv.EditIndex = e.NewEditIndex;
string strSort = ((DropDownList)gv.Rows[e.NewEditIndex].FindControl("ddlSort")).SelectedValue.Trim();
gv.EditIndex = -1;
BindData();
}
是否在<EditItemTemplate>中