如何取到DataList中LinkButton的Text值?

Wangzhaokang 2005-09-08 08:40:48
如题,我要把Text值做为参数传递的。
不知道该如何取道值
...全文
276 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
Wangzhaokang 2005-09-12
  • 打赏
  • 举报
回复
ding
Wangzhaokang 2005-09-11
  • 打赏
  • 举报
回复
to: happyamei(啊梅)
----------------
报错:
未将对象引用设置到对象的实例。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

异常详细信息: System.NullReferenceException: 未将对象引用设置到对象的实例。

源错误:


行 62: {
行 63: // string newsid=Request.Form["hdd"].ToString();
行 64: LinkButton lb=(LinkButton)news.SelectedItem.FindControl("lbnew");
行 65: string newsid=lb.Text;
行 66: if(newsid==null)

我调试过,LinkButton没有取到值,值是NULL。

home.aspx代码:
<tr>
<td vAlign="top" align="left"><asp:datalist id="news" runat="server">
<ItemTemplate>
<TABLE>
<TR>
<TD>
<asp:LinkButton id=lbnew runat="server" CommandName="news" Text='<%# DataBinder.Eval(Container.DataItem, "newstitle") %>'>
</asp:LinkButton></TD>
<TD>    <INPUT id=hdd type=hidden value='<%# DataBinder.Eval(Container.DataItem,"newsid")%>' name=hdd></TD>
<TD><%# DataBinder.Eval(Container.DataItem,"newstime")%></TD>
</TR>
</TABLE>
</ItemTemplate>
</asp:datalist>
</td>
</tr>
<tr>

home.aspx.cs代码:

private void news_ItemCommand(object source, System.Web.UI.WebControls.DataListCommandEventArgs e)
{
if(((LinkButton)e.CommandSource).CommandName=="news")
{
// string newsid=Request.Form["hdd"].ToString();
LinkButton lb=(LinkButton)news.SelectedItem.FindControl("lbnew");
string newsid=lb.Text;
if(newsid==null)
{
Response.Redirect("<script language=javascript>alert('没有参数!');</script>");
}
else
{
Response.Redirect("news.aspx?newsid="+newsid);
}
}
}
happyamei 2005-09-11
  • 打赏
  • 举报
回复
LinkButton aa=(LinkButton)DataList1.SelectedItem.FindControl("linkb2);
aa.text就是那个你要获取的值
ultrawu 2005-09-11
  • 打赏
  • 举报
回复
mark
Wangzhaokang 2005-09-10
  • 打赏
  • 举报
回复
晕,我岂不是要累死!
ajieboy 2005-09-09
  • 打赏
  • 举报
回复
修改x,y成其他的行列
Wangzhaokang 2005-09-09
  • 打赏
  • 举报
回复
指定行、列,这样做可以吗?如果我要别的行、列中的按钮,怎么办呢?改代码?
ajieboy 2005-09-08
  • 打赏
  • 举报
回复
x,y确定你的行数和列数
Wangzhaokang 2005-09-08
  • 打赏
  • 举报
回复
机器怎么知道我要得是哪个值?
Wangzhaokang 2005-09-08
  • 打赏
  • 举报
回复
哪个是C#
Wangzhaokang 2005-09-08
  • 打赏
  • 举报
回复
to:Ritt(.net虫)
---------------------
controls[0]是什么意思?
liujiayu10 2005-09-08
  • 打赏
  • 举报
回复
楼上两位都是正解!
两种语言,两种方法都用上了!:)
yqjyqj 2005-09-08
  • 打赏
  • 举报
回复
CType(DataList1.SelectedItem.FindControl("linkb2"), LinkButton).Text
Ritt 2005-09-08
  • 打赏
  • 举报
回复
string sText=((LinkButton)this.dataGrid.items[x].cells[y].controls[0]).Text;
x,y--linkbutton的行和列的index
Ritt 2005-09-08
  • 打赏
  • 举报
回复
x--是个你指定的行--具体数字
y--你指定的列--具体数字
controls[0]是这个单元格中的第一个控件--是那个LinkButton
我用的是vs.net2003,里面有智能感知,所以我在手写的时候没有注意大小写--Sorry
Wangzhaokang 2005-09-08
  • 打赏
  • 举报
回复
string sText=((LinkButton)this.dataGrid.items[x].cells[y].controls[0]).Text;

这句话的cell[y]系统说没有对它的定义
Wangzhaokang 2005-09-08
  • 打赏
  • 举报
回复
如果确定了,其它的值怎么取呢?
string sText=((LinkButton)this.dataGrid.items[x].cells[y].controls[0]).Text;
controls[0]是什么意思?

代码:
<tr>
<td align="center" bgColor="#90c8ff" height="20">学校新闻</td>
</tr>
<tr>
<td valign="top" align="left">
<asp:DataList id="news" runat="server">
<ItemTemplate>
<TABLE>
<TR>
<TD>
<asp:LinkButton id=lbnew runat="server" Text='<%# DataBinder.Eval(Container.DataItem, "newstitle") %>' CommandName="news">

</asp:LinkButton><INPUT id=hdd type=hidden value='<%# DataBinder.Eval(Container.DataItem,"newsid")%>' name=hdd></TD>

<TD>    </TD>
<TD><%# DataBinder.Eval(Container.DataItem,"newstime")%></TD>

</TR>
</TABLE>
</ItemTemplate>
</asp:DataList>

62,046

社区成员

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

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

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

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