情况大概是这样:
datalist控件,id 为 dlPost
我用了一个方法BindDataList()来绑定,{
略~~
this.dlPost.DataSource = ps;
this.dlPost.DataKeyField = "TopicID";
this.dlPost.DataBind();
}
前台用了一个隐藏的Label控件来记录当前UserID值
<asp:Label ID="lblUserId" runat="server" Text='<%# Eval("UserID") %>' Visible="false">
dlPost控件里有两个LinkButton按钮
希望能够点击事件来找到相对的UserID值问题:
protected void Lkb_Click(object sender, EventArgs e)
{
//需要找到UserID值,这里我该如何获得UserID的值?
???
Response.Write(UserID.ToString());
}
datalist控件,id 为 dlPost
我用了一个方法BindDataList()来绑定,{
略~~
this.dlPost.DataSource = ps;
this.dlPost.DataKeyField = "TopicID";
this.dlPost.DataBind();
}
前台用了一个隐藏的Label控件来记录当前UserID值
<asp:Label ID="lblUserId" runat="server" Text='<%# Eval("UserID") %>' Visible="false">
dlPost控件里有两个LinkButton按钮
希望能够点击事件来找到相对的UserID值问题:
protected void Lkb_Click(object sender, EventArgs e)
{
//需要找到UserID值,这里我该如何获得UserID的值?
???
Response.Write(UserID.ToString());
}
解决方案 »
- asp.net运行时错误 值不在预期范围内
- gridview求教
- 函数调用问题!!高手指教/
- url重写,很简单的错误,请指教
- 急问: 为什么ASP.NET的项目调试不了? 马上揭帖
- =======100分求像孟子E章网站的地址是怎么加密的?在线等待!解决马上结帖!===========
- 关于构造函数,请高手给讲讲,有个地方不明白!!
- 2大难题,在线等待!——C# web应用程序错误,谁人能解????狂加分
- 怎样把查询数据导入到Excel显示出来?急
- 让程序调用打印机自动打印功能:急!!!!
- |M| 如何给DataTable 插入一列 为object[] 型
- 请教一个关于客户端与服务端选择的问题
Lkb 在 DataList 里面?2。
protected void Lkb_Click(object sender, EventArgs e)
{
LinkButton Lkb = sender as LinkButton;
DataListItem item = Lkb.NamingContainer as DataListItem;
Label lblUserId = item.FindControl("lblUserId");
int UserID = int.Parse(lblUserId.Text);
Response.Write(UserID.ToString());
}
1.那个Btn是在list里面还是外面,
2,哪果是外面,那一般情况下在list里用checkBox来控制
3,如果Btn在里面,可以在aspx页面里绑定一个ID给BTN的CommandArgument属性就可以取到了
一般不hidden的lb作这种参数传递
分别设它们的下面两个的属性
CommandArgument = "LinkButton1"//随便你设,作为接下来你想写的事件代码的标识CommandName = "Update" //也可以是"Edit" 、"Delete" 、“Cancel”等,分别对应dlPost里的事件UpdateCommand、EditCommand、DeleteCommand、CancelCommand等。在上述参数对应的dlPost事件里写代码,可以直接用this.lblUserId.Text获得UserID用CommandArgument来区分是来自那个LinkButton如:
protected void dlReceiveList_UpdateCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandArgument.ToString() == "LinkButton1")//用户单击了LinkButton
{
//验证权限
}
else//用户单击了另一个LinkButton
{}
竟然如此诡异?那么你用 LS 朋友的 ItemCommand 事件处理吧,
本来我的代码是直接符合的代码场景的,嘿嘿
前台:
<asp:DataList ID="dlPost" runat="server" OnUpdateCommand="dlPost_UpdateCommand">
<ItemTemplate>
略~~
<asp:Label ID="lblUserId" runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"UserID") %>' Visible="false">
<%# DataBinder.Eval(Container.DataItem,"NickName") %><br /><br />
<asp:LinkButton ID="FriendLbn" Text="加好友" runat="server" CommandArgument="FriendLbn" CommandName="Update"></asp:LinkButton><br /><br />
</ItemTemplate>
</asp:DataList>
后台:
protected void dlPost_UpdateCommand1(object source, DataListCommandEventArgs e)
{
if (e.CommandArgument.ToString() == "FriendLbn")
{
Response.Write(this.lblUserId.Text);
}
}
{
Label upLab= (Label)e.Item.FindControl("lblUserId");
response.write(upLab.Text);
}
{
Label upLab= (Label)e.Item.FindControl("lblUserId");
response.write(upLab.Text);
}你的代码完全错误
protected void dlPost_UpdateCommand1(object source, DataListCommandEventArgs e)
{
if (e.CommandArgument.ToString() == "FriendLbn")
{
Response.Write(this.lblUserId.Text);
}
}
==========
1。
既然显示指定的是 UpdateCommand 事件就不需要判断 CommandArgument 了2。
Label lblUserId= (Label)e.Item.FindControl("lblUserId");
Response.write(lblUserId.Text);3。
看书看书看书啊,怎么就喜欢闷头coding呢