请教一下GirdView更新事件接收值问题?
向各位请教一个问题:
在GirdView更新文字按钮加有一个事件
protected void LinkButton1_Click(object sender, EventArgs e)
在这事件中,怎样接收更新TextBox2的值呢?
在a.aspx 文件里有: <form id= "form1 " runat= "server ">
GridView1 和 GridView2 控件.
部分源码如下:
<asp:GridView ID= "GridView2 " runat= "server " AllowPaging= "True " AllowSorting= "True "
CellPadding= "4 " DataSourceID= "SqlDataSource2 " ForeColor= "#333333 " GridLines= "None ">
<FooterStyle BackColor= "#507CD1 " Font-Bold= "True " ForeColor= "White " />
<Columns>
<asp:TemplateField ShowHeader= "False " HeaderText= "操作 ">
<EditItemTemplate>
<asp:LinkButton ID= "LinkButton1 " runat= "server " CausesValidation= "True " CommandName= "Update "
Text= "更新 " OnClick= "LinkButton1_Click "> </asp:LinkButton>
<asp:LinkButton ID= "LinkButton2 " runat= "server " CausesValidation= "False " CommandName= "Cancel "
Text= "取消 "> </asp:LinkButton>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID= "LinkButton1 " runat= "server " CausesValidation= "False " CommandName= "Edit "
Text= "更新加入 "> </asp:LinkButton>
</ItemTemplate>
<HeaderTemplate>
操作
</HeaderTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "号码 " SortExpression= "jgdm ">
<EditItemTemplate>
<asp:Label ID= "Label1 " runat= "server " Text= ' <%# Eval( "jgdm ") %> '> </asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID= "Label3 " runat= "server " Text= ' <%# Bind( "jgdm ") %> '> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "名称 " SortExpression= "jgmc ">
<EditItemTemplate>
<asp:TextBox ID= "TextBox1 " runat= "server " Text= ' <%# Bind( "jgmc ") %> ' Width= "70px "> </asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID= "Label1 " runat= "server " Text= ' <%# Bind( "jgmc ") %> '> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText= "法人 " SortExpression= "fddbr ">
<EditItemTemplate>
<asp:TextBox ID= "TextBox2 " runat= "server " Text= ' <%# Bind( "fddbr ") %> '> </asp:TextBox>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID= "Label2 " runat= "server " Text= ' <%# Bind( "fddbr ") %> '> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle BackColor= "#EFF3FB " />
<EditRowStyle BackColor= "#2461BF " />
<SelectedRowStyle BackColor= "#D1DDF1 " Font-Bold= "True " ForeColor= "#333333 " />
<PagerStyle BackColor= "#2461BF " ForeColor= "White " HorizontalAlign= "Center " />
<HeaderStyle BackColor= "#507CD1 " Font-Bold= "True " ForeColor= "White " />
<AlternatingRowStyle BackColor= "White " />
</asp:GridView>
a.aspx.cs 事件源码如下:
protected void LinkButton1_Click(object sender, EventArgs e)
{
////WebService webService = new WebService();
//GridViewRow row = GridView2.Rows[e.RowIndex];
////string jgdm = DataKeyArray GridView2.DataKeys( "jgdm ");
string jgmc = (TextBox)e.Row.FindControl( "TextBox2 ");
string e.Row.RowType == DataControlRowType.DataRow;
//string fddbr = e.Control( "TextBox2 ").Text;
//string jgmc = (TextBox)GridView2.row.Cells[1].Text;
////string fddbr =((TextBox)e.Item.FindControl( "TextBox2 ")).Text;
////string fddbr = Convert.ToString(DataBinder.Eval(GridView2.Rows, "TextBox2 "));
//string fddbr = ((TextBox)GridView2.Rows.Cell[3].FindControl( "TextBox2 ")).Text;
//string strSql = "insert into JgdmRule(jgdm,jgmc,fddbr) values( ' " + jgdm + " ', ' " + jgmc + " ', ' " + fddbr + " ') ";
//Response.Write(strSql);
////webService.ExcuteSQL(strSql);
////Response.Redirect( "JgdmRule.aspx ");
Response.Write(jgmc);
//Response.Write(fddbr);
}
接收jgmc,fddbr不成功。
顺便问一下, object sender, EventArgs e 中e值怎样全部读取显示?
[解决办法]
我做这个一般都是直接捆绑传值的
[解决办法]
要看你的事件接口是怎么定义的
[解决办法]
protected void LinkButton1_Click(object sender, EventArgs e)
{
TextBox tb_xx =GridView1.FindControl( "TextBox2 ") as TextBox;
string a=tb_xx.text;
}