Передача Eval из ASPX в функцию Javascript в качестве параметра - PullRequest
17 голосов
/ 30 октября 2008
<a id="lblShowTimings"
     runat="server"
     title='<%# Eval("SHOW_Name") %>'
     onclick='PopulateTicketDiv(<%#Eval("SHOW_ID") %>)'>  <-- this is the problem
  %#Eval("SHOW_Time") %>
</a>

Может ли Eval быть передан в качестве аргумента функции javascript? Если да, то какой синтаксис?

Ответы [ 5 ]

40 голосов
/ 30 октября 2008

Да. Что вы хотите сделать, это:

onclick='<%# "PopulateTicketDiv(" +Eval("SHOW_ID") + " );" %>'
18 голосов
/ 05 мая 2011

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

OnClientClick='<%# String.Format("javascript:return displayDeleteWarning(\"{0}\")", Eval("ItemName").ToString()) %>' 

Над строкой должно работать независимо от типа данных параметра

3 голосов
/ 30 октября 2008

Попробуйте

<script type="javascript">
     //Pollute the global namespace
     var ticketDivID = <%= SHOW_ID %>
</script>

<a id="lblShowTimings" runat="server" title='<%# Eval("SHOW_Name") %>' onclick='PopulateTicketDiv(ticketDivID)'> <%#Eval("SHOW_Time") %></a>

В дополнение к этому, поскольку у вас есть runat = "server", вы можете установить onclick из бэкэнда в OnRowDataBound, если это в сетке / репитере или на page_load, если нет.

2 голосов
/ 22 ноября 2013

Вы можете использовать этот синтаксис в виде сетки, повторителя или ... и т. Д.

<asp:ImageButton  
 ID="Imagebutton1" runat="server"
 ImageUrl="../../common/images/pencil.gif"                
 OnClientClick='<%# String.Format("EditBankAccount(\"{0}\");", Eval("BankAccountID")) %>'
 OnClick="ImgBankAccountsDGEdit_Click"/>

Ваша функция JavaScript будет:

 function EditBankAccount(bankaccountid) {
       // Your code goes here
       // return true OR false based on your requirement
    }
0 голосов
/ 14 февраля 2013

Пожалуйста, проверьте этот код

onclick = '<% # Eval ("DocumentPath", "Chk (\" {0} \ ")")%>'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...