如何取得gridview模板列中textbox控件的值
时间:2011-12-11
来源:互联网
我的目的是希望点击选取时记录下模板列“此次退货”的textbox1控件的值
前端代码如下:
<asp:GridView ID="GvData" runat="server" Width="99%" AutoGenerateColumns="False"
CssClass="gridview" EmptyDataText="没有数据"
ShowFooter="True" onrowdatabound="GvData_RowDataBound"
onrowediting="GvData_RowEditing" onrowupdating="GvData_RowUpdating" >
<PagerSettings Visible="False" />
<Columns>
<asp:BoundField HeaderText="成品代码" DataField="成品代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="成品名称" DataField="成品名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="花型代码" DataField="花型代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="花型名称" DataField="花型名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="规格代码" DataField="规格代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="规格名称" DataField="规格名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="标准单价" DataFormatString="{0:N2}" HtmlEncode="false" DataField="标准单价" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="可退数量" DataFormatString="{0:N2}" HtmlEncode="false" DataField="可退数量" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:TemplateField HeaderText="此次退货" ><ItemTemplate><asp:TextBox ID="TextBox1" runat="server" EnableViewState ="true" ></asp:TextBox></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
<asp:BoundField HeaderText="可退单价" DataFormatString="{0:N2}" HtmlEncode="false" DataField="可退单价" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="VIP代码" DataField="VIP代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="VIP名称" DataField="VIP名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="设计师代码" DataField="设计师代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="设计师名称" DataField="设计师名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:TemplateField HeaderText="选取"><ItemTemplate><asp:LinkButton ID="linkbtnChose" CommandArgument='<%#Eval("成品代码")+"|"+Eval("花型代码")+"|"+Eval("规格代码")+"|"+Eval("VIP代码")+"|"+Eval("设计师代码") %>' runat="server" OnClick="linkbtnSales_Click" ForeColor="Red">选取</asp:LinkButton></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
</Columns>
<RowStyle Height="25px" />
<EmptyDataRowStyle ForeColor="Red" HorizontalAlign="Center" />
<FooterStyle Height="20px" HorizontalAlign="Center" BackColor="Yellow" ForeColor="Blue" />
</asp:GridView>
后端代码1:
protected void linkbtnSales_Click(object sender, EventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示system.EventArgs不包含RowIndex的定义
后端代码2:
protected void linkbtnSales_Click(object sender, GridViewUpdateEventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示:编译器错误消息: CS0123: “linkbtnSales_Click”的重载均与委托“System.EventHandler”不匹配
请问这里应该怎么才能取得textbox1的值呢?
前端代码如下:
<asp:GridView ID="GvData" runat="server" Width="99%" AutoGenerateColumns="False"
CssClass="gridview" EmptyDataText="没有数据"
ShowFooter="True" onrowdatabound="GvData_RowDataBound"
onrowediting="GvData_RowEditing" onrowupdating="GvData_RowUpdating" >
<PagerSettings Visible="False" />
<Columns>
<asp:BoundField HeaderText="成品代码" DataField="成品代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="成品名称" DataField="成品名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="花型代码" DataField="花型代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="花型名称" DataField="花型名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="规格代码" DataField="规格代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="规格名称" DataField="规格名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="标准单价" DataFormatString="{0:N2}" HtmlEncode="false" DataField="标准单价" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="可退数量" DataFormatString="{0:N2}" HtmlEncode="false" DataField="可退数量" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:TemplateField HeaderText="此次退货" ><ItemTemplate><asp:TextBox ID="TextBox1" runat="server" EnableViewState ="true" ></asp:TextBox></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
<asp:BoundField HeaderText="可退单价" DataFormatString="{0:N2}" HtmlEncode="false" DataField="可退单价" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="VIP代码" DataField="VIP代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="VIP名称" DataField="VIP名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="设计师代码" DataField="设计师代码" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:BoundField HeaderText="设计师名称" DataField="设计师名称" ><ItemStyle HorizontalAlign="Center" /></asp:BoundField>
<asp:TemplateField HeaderText="选取"><ItemTemplate><asp:LinkButton ID="linkbtnChose" CommandArgument='<%#Eval("成品代码")+"|"+Eval("花型代码")+"|"+Eval("规格代码")+"|"+Eval("VIP代码")+"|"+Eval("设计师代码") %>' runat="server" OnClick="linkbtnSales_Click" ForeColor="Red">选取</asp:LinkButton></ItemTemplate><ItemStyle HorizontalAlign="Center" /></asp:TemplateField>
</Columns>
<RowStyle Height="25px" />
<EmptyDataRowStyle ForeColor="Red" HorizontalAlign="Center" />
<FooterStyle Height="20px" HorizontalAlign="Center" BackColor="Yellow" ForeColor="Blue" />
</asp:GridView>
后端代码1:
protected void linkbtnSales_Click(object sender, EventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示system.EventArgs不包含RowIndex的定义
后端代码2:
protected void linkbtnSales_Click(object sender, GridViewUpdateEventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示:编译器错误消息: CS0123: “linkbtnSales_Click”的重载均与委托“System.EventHandler”不匹配
请问这里应该怎么才能取得textbox1的值呢?
作者: fennyli78 发布时间: 2011-12-11
foreach (GridViewRow gvr in gvInBillList.Rows)
{
TextBox t = gvr.FindControl("TextBox1") as TextBox;
if (t != null)
{
t.Text = "给TextBox1赋值";
}
}
{
TextBox t = gvr.FindControl("TextBox1") as TextBox;
if (t != null)
{
t.Text = "给TextBox1赋值";
}
}
作者: hefeng_aspnet 发布时间: 2011-12-11
用循环,这是两种情况,两个例子,你可以仿照着改
for (int i = 0; i < gridView1.Rows.Count; i++)
{
string strC = ((TextBox)gridView1.Rows[i].Cells[4].FindControl("txtCount")).Text;
pid = ((HiddenField)gridView1.Rows[i].FindControl("hiddenFiled1")).Value;
}
for (int i = 0; i < gridView1.Rows.Count; i++)
{
string strC = ((TextBox)gridView1.Rows[i].Cells[4].FindControl("txtCount")).Text;
pid = ((HiddenField)gridView1.Rows[i].FindControl("hiddenFiled1")).Value;
}
作者: hefeng_aspnet 发布时间: 2011-12-11
后端代码1:
protected void linkbtnSales_Click(object sender, EventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示system.EventArgs不包含RowIndex的定义
------------------------------
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
=>
TextBox textBox = sender.NamingContainer.FindControl("TextBox1") as TextBox;
if(textBox!=null)
{
string txt = textBox.Text;
}
protected void linkbtnSales_Click(object sender, EventArgs e)
{
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
}
这样写提示system.EventArgs不包含RowIndex的定义
------------------------------
string txt = ((TextBox)GvData.Rows[e.RowIndex].FindControl("TextBox1")).Text;
=>
TextBox textBox = sender.NamingContainer.FindControl("TextBox1") as TextBox;
if(textBox!=null)
{
string txt = textBox.Text;
}
作者: Sandy945 发布时间: 2011-12-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28