单击GridView的TemplateField中的Linkbutton如何获取某一个字段值

谁动了我的心弦 2014-01-14 10:21:43
我有一个GridView,里面有一个LinkButton,我想单击这个LinkButton的时候获取同属该条记录中的另一个值,这个值我没有绑定在ItemTemaplate中。
GridView的数据源是Sqldatasource,其查询语句是
SelectCommand="Select ID,Name,Sex,Hoppy from Info"

GrivView的TemalateField如下:

<Columns>
<asp:TemplateField>
<ItemTemplate>
<table cellspacing="0" width="100%" border="0" cellpadding="0" runat="server">
<tr>
<td>
<asp:Label ID="Label1" runat="server" Width="100%" Text='<%# DataBinder.Eval(Container, "DataItem.Nick") %>'></asp:Label>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label2" runat="server" Width="100%" Text='<%# DataBinder.Eval(Container, "DataItem.Sex") %>'>
</td>
</tr>
<tr>
<td>
<asp:Label ID="Label3" runat="server" Width="100%" Text='<%# DataBinder.Eval(Container, "DataItem.Hoppy") %>'>|
<asp:linkbutton>获取ID</asp:linkbutton>
</td>
</tr>
</table>
</ItemTemplate>
</asp:TemplateField>
</Columns>

我想把ID存到一个Session中,然后全局都可是使用。以上是我的例子是我简化过后的,我想要的就是当点击GridView中的那个linkbutton后获取从被点击的那一条记录中的ID值。谢谢大家!
...全文
212 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 9 楼 qq931121347 的回复:
<%# getBmmc(Eval("Bm").ToString()) %> 用隐藏域显示ID 然后通过JS给单击按钮
这个方法之前也有想到过,不过我还是想知道我帖子中的问题能不能通过帖子中所要求的方法去解决,当个学生能多学点就多学点...
淡淡的活着 2014-01-15
  • 打赏
  • 举报
回复
<%# getBmmc(Eval("Bm").ToString()) %> 用隐藏域显示ID 然后通过JS给单击按钮
  • 打赏
  • 举报
回复
引用 4 楼 u013471741 的回复:
int state = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "id"));
你写的这个代码是写在哪个事件里面呢?
md5e 2014-01-15
  • 打赏
  • 举报
回复
我这里用两个Repeater 嵌套做说明 DataRowView row = e.Item.DataItem as DataRowView;//将源数据转成DataRowView,和DataRow的用法没什么不同 rp_nav_sub.DataSource = getClassList(row["classID"].ToString(), false, true);//row["classID"].ToString()是主表里的一个字段,不一定要在Repeater出现,只要求你的源数据有这个字段就可以了
md5e 2014-01-15
  • 打赏
  • 举报
回复
protected void rp_kssz_ItemDataBound(object sender, RepeaterItemEventArgs e) { if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { DataRowView row = e.Item.DataItem as DataRowView; Repeater rp_nav_sub = e.Item.FindControl("rp_kssz_sub") as Repeater; rp_nav_sub.DataSource = getClassList(row["classID"].ToString(), false, true); rp_nav_sub.DataBind(); } }
引用 5 楼 arthuskingofc 的回复:
[quote=引用 2 楼 liuchaolin 的回复:] DataRowView row = e.Item.DataItem as DataRowView;
我是个学生,我刚接触ASP.NET不久,不太看得懂你要表达一个什么意思,能多写一点代码或者文字性注释吗[/quote]
  • 打赏
  • 举报
回复
引用 2 楼 liuchaolin 的回复:
DataRowView row = e.Item.DataItem as DataRowView;
我是个学生,我刚接触ASP.NET不久,不太看得懂你要表达一个什么意思,能多写一点代码或者文字性注释吗
ran丶 2014-01-15
  • 打赏
  • 举报
回复
int state = Convert.ToInt32(DataBinder.Eval(e.Row.DataItem, "id"));
ran丶 2014-01-15
  • 打赏
  • 举报
回复
System.Web.UI.HtmlControls.HtmlInputCheckBox chk = row.Cells[0].FindControl("chkItem") as System.Web.UI.HtmlControls.HtmlInputCheckBox;
md5e 2014-01-15
  • 打赏
  • 举报
回复
DataRowView row = e.Item.DataItem as DataRowView;
淡淡的活着 2014-01-15
  • 打赏
  • 举报
回复
引用 10 楼 arthuskingofc 的回复:
[quote=引用 9 楼 qq931121347 的回复:] <%# getBmmc(Eval("Bm").ToString()) %> 用隐藏域显示ID 然后通过JS给单击按钮
这个方法之前也有想到过,不过我还是想知道我帖子中的问题能不能通过帖子中所要求的方法去解决,当个学生能多学点就多学点...[/quote]简单方便好点··反正能用就行 效率也不是问题·代码也不多

62,243

社区成员

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

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

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

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