datalist如何获取行 本帖最后由 hamutailangliuxingyu 于 2009-07-27 13:47:06 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 自己添加一个带行的控件隐藏起来,然后e.Item.FindControl("控件ID"); 可以把按钮换乘超级链接,后面跟上一个页面参数,例如用户的ID,用单独的一个页面来处理。或者,处理 DataList.ItemCommand 事件。http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.datalist.itemcommand(VS.80).aspx 可以把按钮换乘超级链接,后面跟上一个页面参数,例如用户的ID,用单独的一个页面来处理。 或者,处理 DataList.ItemCommand 事件。 <td><asp:Label ID="Label5" runat="server" Text='<%#Eval("Id") %>'></asp:Label></td> <td><asp:LinkButton ID="btnUpdate" runat="server" Text="编辑" CommandName="编辑" /></td> protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e) { Label lbId = (Label)e.Item.FindControl("Id"); if (e.CommandName == "编辑") { string Id = lbId.Text; }} 把姓名部分改为:<span style="font-size: 12px; line-height: 20px;">姓名: </span> <span style="font-size: 12px; line-height: 20px;"> <asp:Label ID="txtName" Text ='<%# Eval(" user_name")%>' runat="server"></asp:Label ></span> foreach (DataListItem CheckBoxItem in dlselectbuild.Items) { Label Name= (Label)CheckBoxItem.FindControl("txtName"); this.Label1.Text=Name.Text; } 你去看看这个帖子,我的回答,你这个也一样用http://topic.csdn.net/u/20080516/10/83bc8996-b19a-4ba2-abcd-5ddf2c368e95.html 你现在<asp:Button ID="Button1" runat="server" Text="添加好友" /> 中加个 CommandName="and" ,<asp:Button ID="Button1" CommandName="and" runat="server" Text="添加好友" /> ,然后把姓名后面的span换成label<span style="font-size: 12px; line-height: 20px;"> <%# Eval(" user_name")%> </span> 换成 <asp:Label ID="name" runat="server" Text='<%# Eval(" user_name")%> '> </asp:Label>datalist的ItemCommand事件中写if(e.CommandName == "and"){ Label lb=(Label )this.dlselectbuild.Items[e.Item.ItemIndex].FindControl(name);this.Label1.Text=lb.Text;} datalist 中有一个ItemCommand事件 就是当datalist内部发生事件的时候调用然后给你的按钮增加一下属性<asp:Button ID="Button2" runat="server" Text="Button" CommandArgument='<%# Bind("user_name") %>' CommandName="addHaoyou" />CommandName是事件的名称CommandArgument是绑定的值protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e){ if (e.CommandName == "addHaoyou") { Label1.Text = e.CommandArgument.ToString().Trim(); }} <asp:button runat="server" id="btnClick" text="" CommandName="a" CommandArgument=' <%# Bind("user_name") %>' /> </ItemTemplate> </asp:datalist> 在ItemCommand事件里写方法体 protected void dlSource_ItemCommand(object source, DataListCommandEventArgs e) { if(e.CommandName=="a") { Label1.Text+=e.CommandArgument.ToString().Trim()+","; } }或 <%# Eval(" user_name")%> <asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("user_name") %>'></asp:TextBox>TextBox tb = e.Item.FindControl("TextBox1") as TextBox; Label1.Text+= tb.Text; 移动控件selectionlist选择值的问题 一个很急的问题!!!!!!!!!!!!!!! 单元测试 奇怪的问题gridview XP上发布.NET3.5出现500错误 改变dropdownlist使gridview分页变为第一页 微软自带AJAX问题 100分,在作防盗链时,出现*.swf格式的文件无法防盗链,总是提示“未将对象引用设置到对象的实例”,请大家看看,立即给分。 Olecommand如何取值? 删不完的文件,请高手来指点。 uniqueidentifier要引用哪个程序集? 小弟做的asp.net购物网站刚上线,请大家从美工,功能等给点评价,谢谢
e.Item.FindControl("控件ID");
<td><asp:LinkButton ID="btnUpdate" runat="server" Text="编辑" CommandName="编辑" /></td>
protected void Repeater1_ItemCommand(object source, RepeaterCommandEventArgs e)
{
Label lbId = (Label)e.Item.FindControl("Id");
if (e.CommandName == "编辑")
{
string Id = lbId.Text; }
}
<span style="font-size: 12px; line-height: 20px;">姓名: </span> <span style="font-size: 12px; line-height: 20px;">
<asp:Label ID="txtName" Text ='<%# Eval(" user_name")%>' runat="server"></asp:Label ></span>
foreach (DataListItem CheckBoxItem in dlselectbuild.Items)
{ Label Name= (Label)CheckBoxItem.FindControl("txtName");
this.Label1.Text=Name.Text; }
中加个 CommandName="and" ,<asp:Button ID="Button1" CommandName="and" runat="server" Text="添加好友" />
,然后把姓名后面的span换成label
<span style="font-size: 12px;
line-height: 20px;">
<%# Eval(" user_name")%>
</span>
换成 <asp:Label ID="name" runat="server" Text='<%# Eval(" user_name")%> '> </asp:Label>
datalist的ItemCommand事件中写
if(e.CommandName == "and")
{
Label lb=(Label )this.dlselectbuild.Items[e.Item.ItemIndex].FindControl(name);
this.Label1.Text=lb.Text;
}
然后给你的按钮增加一下属性
<asp:Button ID="Button2" runat="server" Text="Button" CommandArgument='<%# Bind("user_name") %>' CommandName="addHaoyou" />CommandName是事件的名称CommandArgument是绑定的值protected void DataList1_ItemCommand(object source, DataListCommandEventArgs e)
{
if (e.CommandName == "addHaoyou") {
Label1.Text = e.CommandArgument.ToString().Trim();
}
}
</ItemTemplate>
</asp:datalist>
在ItemCommand事件里写方法体
protected void dlSource_ItemCommand(object source, DataListCommandEventArgs e)
{
if(e.CommandName=="a")
{
Label1.Text+=e.CommandArgument.ToString().Trim()+",";
}
}
或
<%# Eval(" user_name")%>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Eval("user_name") %>'></asp:TextBox>
TextBox tb = e.Item.FindControl("TextBox1") as TextBox;
Label1.Text+= tb.Text;