【发布时间】:2017-09-19 06:11:17
【问题描述】:
我正在创建一个 Web 应用程序,其中在我的 gridview 中有一个行 RowEditing 事件,在该事件中我将标签的值分配到 EditItemTemplate 中的文本框中
但我遇到了问题,
我的文本框出现在第二次点击时,例如
我需要单击两次然后我的文本框出现并且(假设我 单击行号(1)和行号(5),文本框是 出现在行号(1))
这就是我的代码的样子
protected void gridone_RowEditing(object sender, GridViewEditEventArgs e)
{
Label lblone = (Label)gridone.Rows[e.NewEditIndex].FindControl("lbltaskmid");
string one = lblone.Text;
string script = "alert('" + one + "');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script, true);
}
所以我像这样更改代码
protected void gridone_RowEditing(object sender, GridViewEditEventArgs e)
{
Label lblone = (Label)gridone.Rows[e.NewEditIndex].FindControl("lbltaskmid");
string one = lblone.Text;
string script = "alert('" + one + "');";
ClientScript.RegisterClientScriptBlock(this.GetType(), "Alert", script, true);
gridone.DataBind();
}
现在当我点击编辑按钮时,我的 gridview 消失了
这是我的gridview的html代码
<asp:GridView OnRowEditing="gridone_RowEditing" ID="gridone" AutoGenerateColumns="False" runat="server">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lbltaskmid" runat="server" Text='<%#Eval("taskmid") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txttaskmid" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Name">
<ItemTemplate>
<asp:Label ID="lbltaskname" runat="server" Text='<%#Eval("taskname") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txttaskname" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Description">
<ItemTemplate>
<asp:Label ID="lbldesc" runat="server" Text='<%#Eval("description") %>'></asp:Label>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtdesc" runat="server"></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:ButtonField ButtonType="Button" CommandName="Edit" HeaderText="Add" ShowHeader="True" Text="EDIT" />
</Columns>
</asp:GridView>
我需要在这里做什么?
【问题讨论】: