ASP.NET Linkbutton未获取commandargument值的动态值
在这里,myeid没有得到值,但总是显示ASP.NET Linkbutton未获取commandargument值的动态值,asp.net,linkbutton,Asp.net,Linkbutton,在这里,myeid没有得到值,但总是显示 我已经尝试了所有其他选项,如或标记“的输出更可能类似于使用响应。在代码中写入。因此,这些标记用于向响应对象显示值 这就是为什么,根据我的理解,除非使用数据绑定,否则不能使用这些标记来设置控件的commandargument属性。如果您使用的是数据绑定,那么这些标记将用于设置控件的属性 因为您在这里循环遍历html表上列表中的每个项目,所以我的建议是使用GridView或Repeater,然后通过列表对象进行绑定。如果使用这种方法,还可以消除html表中不
我已经尝试了所有其他选项,如或标记“
的输出更可能类似于使用响应。在代码中写入。因此,这些标记用于向响应对象显示值
这就是为什么,根据我的理解,除非使用数据绑定,否则不能使用这些标记来设置控件的commandargument属性。如果您使用的是数据绑定,那么这些标记将用于设置控件的属性
因为您在这里循环遍历html表上列表中的每个项目,所以我的建议是使用GridView或Repeater,然后通过列表对象进行绑定。如果使用这种方法,还可以消除html表中不需要的格式问题
提及
如果您想使用repeater,那么您可以使用这些特定的标记,这应该是您的代码(不是实际的代码,只是示例代码)
您可以改为修改服务器端代码中的属性吗?为什么不使用中继器
?我也有同样的问题,您找到解决方案了吗?
<%
foreach (training t in traininglist)
{
%>
<tr>
<td><%=t.TrainingId%></td>
<td><%=t.TrainingName%></td>
<td>
<asp:LinkButton runat="server" ID="EditBtn"
Text="Edit" OnCommand="editbtn_OnCommand"
CommandArgument='<%# t.TrainingId %>' CommandName="edit" />
</td>
</tr>
<% } %>
public void editbtn_OnCommand(object sender, CommandEventArgs e)
{
String myeid = e.CommandArgument.ToString();
....
}
<asp:Repeater id="myRepeater" runat="server" >
<ItemTemplate>
<div>
<asp:LinkButton runat="server" id="EditBtn" CommandName="edit"
CommandArgument="<%#Container.DataItem.TrainingId %>" Text="Edit"
OnCommand="editbtn_OnCommand" />
</div>
</ItemTemplate>
</asp:Repeater>