Передача нескольких аргументов через asp: кнопка CommandArgument - PullRequest
0 голосов
/ 23 марта 2020

Когда я передаю несколько аргументов через

<asp:Button runat="server" ID="btnUpdate" Text="Update" 
            CssClass="btn btn-sm btn-success" 
            CommandName="UpdateCoordinator" 
            CommandArgument='<%# Bind("iUserID") & "," & Bind("siteID")%>' 
            CausesValidation="false" />

И в коде позади я пытаюсь разделить CommandArgument следующим образом:

Dim commandArgs As String() = e.CommandArgument.ToString().Split(New Char() {","})
Dim iUserID As Integer = Val(commandArgs(0))
Dim iSiteID As Integer = Val(commandArgs(1))

Я получаю только первый аргумент и ошибку

System.IndexOutOfRangeException: 'Индекс находился за пределами массива.'

Любая помощь, указывающая на то, что мне не хватает, была бы fantasti c!

1 Ответ

0 голосов
/ 24 марта 2020

Я решил это с помощью Container.DataItem () в определении Button.

<asp:Button runat="server" ID="btnUpdate" Text="Update" CssClass="btn btn-sm btn-success" CommandName="UpdateCoordinator" CommandArgument='<%# Container.DataItem("iUserID").ToString() & "," & Container.DataItem("siteID").ToString() %>' CausesValidation="false" />
...