Передача нескольких аргументов команды в элемент управления ImageButton? - PullRequest
0 голосов
/ 11 марта 2011

Я проектирую своего рода иерархическую систему следующим образом:

Контракт
Основной товар
Товар
Суб-товар
Часть

Каждаяиз них на своей странице (на данный момент).Пользователь запускается на странице Contract.aspx.Если они захотят увидеть основные товары для контракта, на котором они в настоящее время находятся, они нажмут «ImageButton», который я настроил, и я передам в качестве аргумента команды ContractID (CommandArgument='<%# Eval("ContractID")%>').Это прекрасно работает - я попадаю на мою страницу Master Commodity с фильтром Master Commodities по переданному мне ContractID.

Вот моя проблема: переход со страницы Master Commodity на страницу Commodity (я думаю) потребует прохожденияв ContractID (таким образом, мы ТОЛЬКО видим материал для контракта, по которому мы заключаем) И ИД основного товарного товара (таким образом, мы ПРОСТО видим товар, связанный с основным товаром).Я пробовал следующее:

CommandArgument='<%# Eval("ContractID") + ',' + Eval("MComID")%>', но, как вы могли ожидать, это не работает.Если я могу просто сделать что-то как выше и иметь разделитель, как запятую, я могу пойти оттуда и заставить его работать.Любые предложения ???

Ответы [ 3 ]

2 голосов
/ 23 сентября 2011

Mike

заимствуя из предложенного вами решения, вы могли бы сохранить ImageButton и использовать следующее:

<%# string.Format("{0},{1}",Eval("value1"),Eval("value2"))%>

Поздно, но стоит подумать о том, чтобы прокомментировать других, следующих за этой веткой.

Paul.

0 голосов
/ 11 марта 2011

В вашем коде есть метод, который возвращает хорошо отформатированную строку

internal static string GetFormattedString(string sContractID, string sMcomID){
  return String.Format("{0},{1}", sContractID , sMcomID);
}

тогда вы могли бы Eval эту функцию в вашем контроле. таким образом вы сохраняете логику форматирования в своем коде, и вам нужно только изменить ее там Это хорошая практика, если информация используется в различных элементах управления (ссылках) вашего кода интерфейса.

0 голосов
/ 11 марта 2011

Я решил изменить ImageButton на «href ...» и использовать его в качестве моего href:

<%# string.Format("./Commodity.aspx?contractId={0}&MComID={1}, Eval("ContractId"), Eval("MComID"))%>

Таким образом, я могу передать всю необходимую информацию.

...