2011-01-05 2 views
2

Мне нужно получить значение атрибута LinkButton в asp: Repeater.Получение значения из asp: атрибута CommandArgument LinkButton с помощью jquery/javascript

У меня есть жерех: повторитель с 2 LinkButtons, чьи CommandArgument я настроен на значение:

<ItemTemplate> 
    <tr class="odd">           
     <td><%#DataBinder.Eval(Container.DataItem, "batch_id")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "productId")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "serial_number")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "activation_card_number")%></td> 
     <td><%#DataBinder.Eval(Container.DataItem, "transaction_amount","{0:C}")%></td>           
     <td><%#DataBinder.Eval(Container.DataItem, "response_dt", "{0:M/d/yyyy HH:mm:ss}")%></td>           
     <td style="text-align:center;"><%#DataBinder.Eval(Container.DataItem, "resp_process_msg")%></td> 
     <td style="text-align:center;"><%#DataBinder.Eval(Container.DataItem, "resp_response_code")%></td> 
     <td style="text-align:center;"><asp:LinkButton ID="lnkBtnRestageAdd" CommandName="Add" CommandArgument='<%#Eval("activation_card_number")%>' runat="server" Text="stage" class="add" OnClientClick="return false;" /></td>                     
     <td style="text-align:center;"><asp:LinkButton ID="lnkBtnRestageMinus" CommandName="Subtract" CommandArgument='<%#Eval("activation_card_number")%>' runat="server" Text="stage" class="minus" OnClientClick="return false;" /></td> 
     </tr> 
</ItemTemplate> 

Я подавил PostBack с OnClientClick = "возвращение ложным;" так что я могу выскочить диалоговую модальное JQuery, когда кнопки ссылки получить щелкнули:

if (btnAdd != null) { 
    $(".add").click(function() { 
     $("#<%=divDialogAdd.ClientID %>").removeAttr("style"); 
     $("#<%=divDialogAdd.ClientID %>").dialog("open"); 
    }); 
} 

В модальном У меня есть 2 других Asp: LinkButtons, и когда кнопка «Да» щелкает я делаю постбэк так:

yesBtn.click(function() { 
    setTimeout('__doPostBack(\'btnAdd\',\'\')', 0); //need to add a param 
}); 

что мне нужно сделать, это каким-то образом получить значение CommandArgument из LinkButton в повторитель, так что я могу передать, что в качестве parametere или назначить его на скрытом поле. Я пробовал jQuery attr(), но это работает только тогда, когда атрибут был установлен с использованием этой функции. Как я могу получить это значение или каким другим способом я могу это сделать?

ответ

4

Я не думаю, что вы можете получить это свойство в javascript. Поскольку аргумент команды передается как аргумент функции doPostBack. Но я думаю, что вы можете изменить свой код так, чтобы уменьшить сложность.

<asp:LinkButton ID="lnkBtnRestageAdd" 
       CommandName="Add" 
       CommandArgument='<%#Eval("activation_card_number")%>' 
       runat="server" 
       Text="stage" 
       class="add" 
       OnClientClick='<%#Eval("activation_card_number","javascript:return YourFunction({0});")%>' /> 

делать вещи, которые вы хотите сделать в функции YourFunction возврата true, если нажата кнопка Да и вернуть false

+0

hrmm, когда я поместить <% # Eval («activation_card_number»)%> внутри любой Я называю функцию, я получаю, что тег сервера плохо сформирован. – LobalOrning

+0

попробуйте это. <% # Eval ("activation_card_number", "javascript: YoutFunction ({0});")%> –

+0

OnClientClick = '<% # Eval ("activation_card_number", "Javascript: return RestageAdd (\" {0} \ ");")%> '- это то, что работает. Спасибо за прекрасный ответ – LobalOrning

Смежные вопросы