e.列表视图中的参数不起作用
本文关键字:参数 不起作用 列表 视图 | 更新日期: 2023-09-27 18:29:09
不知道我做错了什么。我的列表视图中有链接按钮,单击时会触发函数"ItemCommand"。"e.CommandArgument.ToString(("假设等于我选择的项目,但有时它显示正确的项目,有时它不是。 为什么?
<AlternatingItemTemplate>
<tr class="UserAltTemplate" >
<td>
<%-- <asp:Label ID="UsernameLabel" runat="server" Text='<%# Eval("Login") %>' style='<%# GetUserNameStyle() %>'/>--%>
<asp:LinkButton ID="UsernameLabel" runat="server" Visible='<%# !string.IsNullOrWhiteSpace(Eval("Login").ToString()) %>'
style='<%# GetUserNameStyle() %>' Text='<%# Eval("Login") %>' CommandArgument='<%# Eval("Login") %>'></asp:LinkButton>
</td>
protected void ItemCommand(object sender, ListViewCommandEventArgs e)
{
string Target = e.CommandArgument.ToString();
这取决于 CommandName 是否具有命令参数。您可以将标记更改为如下所示的内容:
<asp:LinkButton ID="UsernameLabel" runat="server" Visible='<%# !string.IsNullOrWhiteSpace(Eval("Login").ToString()) %>'
style='<%# GetUserNameStyle() %>' Text='<%# Eval("Login") %>'
CommandName="Login" CommandArgument='<%# Eval("Login") %>'></asp:LinkButton>
在代码中:
protected void ItemCommand(object sender, ListViewCommandEventArgs e)
{
if (String.Equals(e.CommandName, "Login"))
{
string Target = e.CommandArgument.ToString();
您可以查看 MSDN 了解详细信息。