Могу ли я передать более 2 параметров или массив с событием onCommand в asp.net? - PullRequest
0 голосов
/ 29 сентября 2011

вопрос выше и он короткий. Я пытаюсь передать больше параметров через кнопку в шаблоне повторителя

Ответы [ 3 ]

0 голосов
/ 29 сентября 2011

Я бы добавил значения в строку с разделителем, например, так:

CommandArgument='<%# String.Format("{0}|{1}|{2}", Eval("Column1"), Eval("Column2"), Eval("Column3"))'%>    

Когда вы попадете в обработчик событий, просто разбейте строку в разделителе, как здесь:

var columnList = e.CommandArgument.Split('|');
0 голосов
/ 29 сентября 2011

Я использовал тупой способ обойти эту проблему.

передать все содержимое в CommandArgument и использовать string.split для получения массива параметров.

CommandArgument='<%# Eval("PersonId") + ";" + Eval("PersonName") %>'

string[] paras = argu.Split(';');
0 голосов
/ 29 сентября 2011

Свойство CommandArgument принимает строку. Таким образом, вы можете поместить несколько значений в это свойство в формате через запятую, например:

button.CommandArgument = "param1,param2,param3";

Затем в обработчике событий OnClick просто разделите свойство CommandArgument:

var parameters = e.CommandArgument.Split(',');
...