怎么能在DataList中取出控件LinkButton的值?

bulenghai 2009-06-10 08:28:15
我在DataList中用LinkButton显示查询出来的值,我想在点击它的时候把值取出来传到另一个页面里去,但是现在穿不出来,向各位大侠讨教,问题解决马上结贴,谢谢!

LinkButton lb = (LinkButton)this.DataList1.FindControl("LinkButton1");
this.TextBox1.Text = lb.text;
这样去不出来,我不知道为什么。
...全文
344 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
黑猫警长-- 2010-04-26
  • 打赏
  • 举报
回复
6楼的方法是我一直在摸索的,正解……
snoopy83101 2009-06-11
  • 打赏
  • 举报
回复
事件不对,还没绑定数据你就取,当然是空值
bulenghai 2009-06-11
  • 打赏
  • 举报
回复
问题解决了,谢谢大家!
symbol441 2009-06-11
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 bulenghai 的回复:]
楼上的方法我试了,取出的值为空,可是我确定把值绑到上面去了啊。

回复6楼,我没有用SqlDataSource,我是手动绑定的,不过还是要谢谢您!
[/Quote]

我只是给个demo,绑定代码根据自己实际情况就行了
bulenghai 2009-06-10
  • 打赏
  • 举报
回复
楼上的方法我试了,取出的值为空,可是我确定把值绑到上面去了啊。

回复6楼,我没有用SqlDataSource,我是手动绑定的,不过还是要谢谢您!
koukoujiayi 2009-06-10
  • 打赏
  • 举报
回复
有两种办法获得:

1.直接在LinkButton1的click事件下获得:
protected void LinkButton1_Click(object sender, EventArgs e)
{
LinkButton myT = (LinkButton)sender;
string a=myT.Text;
}

2.设置LinkButton1的CommandName为Select,在DataList的SelectedIndexChanged事件下获得:
protected void DataList1_SelectedIndexChanged(object sender, EventArgs e)
{
LinkButton myT = (LinkButton)DataList1.Items[DataList1.SelectedIndex].FindControl("LinkButton1");
string a=myT.Text;
}
symbol441 2009-06-10
  • 打赏
  • 举报
回复
刚才可能理解错误,楼主是否是这样,可以参考


<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString %>"
SelectCommand="SELECT * FROM [Alphabetical list of products]"></asp:SqlDataSource>
<asp:DataList runat="server" ID="dlList" DataSourceID="SqlDataSource1">
<ItemTemplate>
<asp:LinkButton runat="server" ID="LinkB" Text="测试" CommandArgument='<%#Eval("ProductId") %>'
OnClick="lbtnTest_OnClick"></asp:LinkButton>
</ItemTemplate>
</asp:DataList>


protected void lbtnTest_OnClick(object sender, EventArgs e)
{
LinkButton obj = (LinkButton)sender;
Response.Write(obj.CommandArgument);
}

楼主把绑定的代码稍加修改应该就行了,在linkbutton里面指定 CommandArgument,然后在执行事件的时候直接调用
bulenghai 2009-06-10
  • 打赏
  • 举报
回复
绑定的时候就是
this.datalist1.DataSource=集合;
this.datalist1.DataBind();

linkbutton是不是在模板列中,如果是就用((LinkButton)DataList1.Items[i].FindControl("linkButton1")).Text,在其列绑定事件里也可获取((LinkButton)(e.Item.FindControl("linkButton1"))).Text

Items[i]是不是要用循环取啊?怎么写啊?
bulenghai 2009-06-10
  • 打赏
  • 举报
回复
<asp:DataList ID="DataList1" runat="server" Width="654px" CellPadding="3" Height="207px" BackColor="White" BorderColor="#CCCCCC" BorderStyle="None" BorderWidth="1px" GridLines="Both">
<ItemTemplate>
<table style="width: 834px; height: 53px">
<tr>
<td style="width: 145px; font-size: 14px; height: 1px; color: #000000;" align="left">
 <img alt="" src="../images/LogoSmall/etu-q.jpg" style="width: 18px; height: 18px; font-size:12px;" />  
<asp:LinkButton ID="LinkButton1" runat="server" OnClick="LinkButton1_Click" ForeColor="Black"><%# Eval("rgangwei") %></asp:LinkButton> 
<td style="width: 271px; height: 1px; text-align: left; font-size: 12px;color: #000000;" align="center">
<asp:Label ID="Label1" runat="server" Text="公司地址:" Font-Size="12px" ForeColor="Gray"></asp:Label><%#Eval("Caddress")%></td>
<td align="right" style="height: 1px; width: 220px; text-align: left;color: #000000; font-size: 12px;">
<asp:Label ID="Label2" runat="server" Font-Size="12px" ForeColor="Gray" Text="发布时间:"></asp:Label><%#subtime(Eval("Rdatetime").ToString())%></td>
</tr>
<tr>
<td colspan="3" rowspan="2" align="left" style="font-size: 12px; font-family: 新宋体;color: #000000;height: 7px;">
       
<asp:Label ID="Label3" runat="server" Font-Size="12px" ForeColor="Gray" Text="岗位描述:"></asp:Label><%#Eval("RgJianJie")%></td>
</tr>
<tr>
</tr>
</table>
</ItemTemplate>
<FooterStyle BackColor="White" ForeColor="#000066" />
<SelectedItemStyle BackColor="#669999" Font-Bold="True" ForeColor="White" />
<ItemStyle ForeColor="#000066" />
<HeaderStyle BackColor="#006699" Font-Bold="True" ForeColor="White" />
</asp:DataList>
简森 2009-06-10
  • 打赏
  • 举报
回复
linkbutton是不是在模板列中,如果是就用((LinkButton)DataList1.Items[i].FindControl("linkButton1")).Text,在其列绑定事件里也可获取((LinkButton)(e.Item.FindControl("linkButton1"))).Text
symbol441 2009-06-10
  • 打赏
  • 举报
回复
LinkButton lb = (LinkButton)this.DataList1.FindControl("LinkButton1");

要加行号参数
参考.
LinkButton lb = (LinkButton)this.DataList1.Items[行号].FindControl("LinkButton1");
yjl49 2009-06-10
  • 打赏
  • 举报
回复
你查询和显示部分是怎么写的?

62,075

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧