CommandArgument пуст

Я хотел бы сделать это:

<asp:ImageButton runat="server" ID="addToCartIMG" OnCommand="btnAdd_Click" EnableViewState="false" CommandArgument='<%# itemId1.Value + ";" + Name1.Text %>' ImageUrl="<%$Resources:MasterPage, Image_AddToCart%>" />

где Item1 - скрытое поле, а Name1 - литерал.

Когда я отлаживаю метод btnAdd_Click, CommandEventArgs становится пустым, и я не понимаю, почему...

Спасибо

1 ответ

Решение

Вы не можете оценить значения поля формы, как вы делаете в своем примере. Если эти значения, которые вы пытаетесь оценить, являются статическими, я имею в виду, что они не меняются в зависимости от действий вашего пользователя, вы можете передавать их статически в свойство CommandArgument вашей кнопки.

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

string itemId = itemId1.Value;
// OR : 
string itemId2 =  Request.Forms["itemId1"];

Для LiteralControl вы не можете получить его текст. Вы должны превратить его в элемент формы.

Метод Eval не является функцией на стороне клиента, которая динамически передает значения ваших элементов управления на сервер.

Другие вопросы по тегам