将 Eval 从 ASPX 传递给 Javascript 函数作为参数

本文关键字:函数 Javascript 参数 Eval ASPX | 更新日期: 2023-09-27 17:47:46

<a id="lblShowTimings"
     runat="server"
     title='<%# Eval("SHOW_Name") %>'
     onclick='PopulateTicketDiv(<%#Eval("SHOW_ID") %>)'>  <-- this is the problem
  %#Eval("SHOW_Time") %>
</a>

Eval可以作为参数传递给javascript函数吗?如果是这样,语法是什么?

将 Eval 从 ASPX 传递给 Javascript 函数作为参数

是的。 不过,您要做的是:

onclick='<%# "PopulateTicketDiv(" +Eval("SHOW_ID") + " );" %>'

当您要将字符串作为参数传递时,上述解决方案会产生问题,您可以使用以下语法来完成:

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

无论参数数据类型如何,上面的行都应该有效

尝试

<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",你可以在OnRowDataBound的后端设置onclick,如果这是在网格/中继器中,或者如果不是,则在page_load上设置。

您可以在网格视图、中继器或..等。

<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
    }

请检查此代码

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

基本上你需要转义引号

<asp:CheckBox onclick='<%# "ToggleByPassValidationRules(" + "'"" + Eval("Name") + "'"" + ");" %>' ID="chkIsRuleActive" runat="server" Enabled="false" />