我正在尝试通过listview中的命令参数标记传递多个值。这里的所有问题都是指GridView而不是listview(我不确定它是否有所作为)。我收到输入字符串格式不正确的错误。
ASPX:
<asp:Button runat="server" Text="View Details" CssClass="button" CommandName="ViewApplicationDetails" CommandArgument='<%# Eval("id") + "|" + Eval("email") + "|" + Eval("application_hash")%>'/>
VB.NET:
Private Sub ListView1_ItemCommand(sender As Object, e As ListViewCommandEventArgs) Handles ListView1.ItemCommand
If e.CommandName = "ViewApplicationDetails" Then
Dim strAttributes As String()
strAttributes = e.CommandArgument.ToString().Split("|")
'Do something
End If
End Sub
答案 0 :(得分:1)
在VB.Net中,字符串串联“+”有时可能不可靠。有关讨论,请参阅此thread。那可能就是你所面对的。要尝试的是“&amp;”操作者:
Eval("id") & "|" & Eval("email") & ...
或String.Format(可读性提升免费):
String.Format("{0}|{1}|{2}", Eval("id"), Eval("email"), ...)
答案 1 :(得分:0)
请你试试这个
String.Format方法:
CommandArgument =&#39;&lt;%#String.Format(&#34; {0} {1} {2}&#34;,DataBinder.Eval(Container,&#34; DataItem.id&#34 ;),DataBinder.Eval(Container,&#34; DataItem.email&#34;),DataBinder.Eval(Container,&#34; DataItem.application_hash&#34;))%&gt;&#39;
请告诉我您是否能够解决。