书上这样写的
LinkButton button = (LinkButton)e.CommandSource;
我用
public void DataList1_ItemCommand(object source,System.Web.UI.WebControls.DataListCommandEventArgs e)
{
LinkButton button = (LinkButton)e.CommandSource;
TextBox1.Text = button.Text;
}怎么TextBox1中没有值?谢谢!
LinkButton button = (LinkButton)e.CommandSource;
我用
public void DataList1_ItemCommand(object source,System.Web.UI.WebControls.DataListCommandEventArgs e)
{
LinkButton button = (LinkButton)e.CommandSource;
TextBox1.Text = button.Text;
}怎么TextBox1中没有值?谢谢!
解决方案 »
- "select id from id where name='" + NickNameSignup.Text + "'"
- 发送邮件的问题 服务器响应为: 5.7.1 Unable to relay for [email protected]
- 运行iis 动态网站提示 401.3 - 未经授权
- 在写的windows(后台)服务中碰到的一个非常奇怪的问题!!!!!
- 关于.net2005中treeView的问题
- 关于用户控件的简单问题
- 在.net里面新建项目时碰到的问题
- 添加记录失败?出现错误提示---操作必须使用一个可更新的查询。
- web.config配置
- 程序发布遇到的问题
- 关于datagrid
- 每个.NET程序员都要注意的问题,欢迎讨论:!如果防范注入式攻击??!!
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
LinkButton btn = e.Item.FindControl("btnAddToCartRe") as LinkButton ;
if(btn != null)
TextBox1.Text = btn.Text;
}
}btnAddToCartRe 是你模板列中linkbutton的ID
TextBox1.Text = btn.Text;btnAddToCartRe 是你模板列中linkbutton的ID
比如:
假设DataGrid的第一列声明如下
<asp:HyperLinkColumn DataTextField="au_id" HeaderText="au_id" DataNavigateUrlField="au_id" DataNavigateUrlFormatString="Edit.aspx?id={0}"></asp:HyperLinkColumn>
读取的时候可以用:
//Items[0]表示第一行,Cells[0]表示第一列,Controls[0]表示Cell中的第一个控件(也只有这个控件可以用)
HyperLink link = (HyperLink)DataGrid1.Items[0].Cells[0].Controls[0]);
Response.Write(link.Text);
至于模板列(TemplateColumn),当然也可以通过DataGrid1.Items[i].Cells[j].Controls[n]来获取,然后转换成原来的控件类型再操作,但是还有个更好的办法,就是用FindControl来查找控件。
FindControl是System.Web.UI.Control的方法,可以根据子控件ID来查找子控件
比如:
假设DataGrid的某一列声明如下
<asp:TemplateColumn>
<ItemTemplate>
<asp:TextBox Runat="server" ID="txtID" Text='<%# DataBinder.Eval(Container.DataItem,"au_id") %>'>
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
读取方法:
TextBox txt = (TextBox)DataGrid1.Items[1].FindControl("txtID");
Response.Write(txt.Text);
注意:DataList中是没有Cell的