gpt4 book ai didi

javascript - 在 OnClientClick 中执行 Eval

转载 作者:太空宇宙 更新时间:2023-11-03 21:08:54 24 4
gpt4 key购买 nike

我在 OnClientClick 中使用数据绑定(bind) Eval 时遇到问题,我找不到正确绑定(bind)的方法。这是我的代码

<asp:LinkButton runat="server" ID="ItemMenuBtn" CssClass="ui-button ui-widget ui-corner-all" OnClientClick='OpenItemMenu(<%# Eval("NotificationData") %>);return false;'>
<i class="fa fa-lg fa-bars" aria-hidden="true"></i>
</asp:LinkButton>

我希望输出是这样的:

<a onclick="OpenItemMenu({JSON notification data here});return false;" id="some id" class="ui-button ui-widget ui-corner-all">

但我得到的是:

<a onclick="OpenItemMenu(&lt;%# Eval(&quot;NotificationData&quot;) %>);return false;" id="ctl00_m_g_28e3d385_2509_4d3a_9c53_1d17b87a802b_gvNoteworthyItems_ctl02_ItemMenuBtn" class="ui-button ui-widget ui-corner-all" href="javascript:__doPostBack('ctl00$m$g_28e3d385_2509_4d3a_9c53_1d17b87a802b$gvNoteworthyItems$ctl02$ItemMenuBtn','')">

所以我的问题是:

  1. 为什么 eval 似乎根本不起作用?
  2. 为什么客户端点击的所有内容都是这样编码的?
  3. 为什么将回发放在链接的 href 中?正如您在客户端点击中看到的那样,我不想要回发,因为此按钮会打开一个对话框并将数据传递给它。

最佳答案

对于OnClientClick,你可以尝试:

OnClientClick='<%# string.Format("OpenItemMenu(\"{0}\"); return false", Eval("NotificationData")) %>'

如果 LinkBut​​ton 不在数据绑定(bind)控件中,则必须调用 DataBind 以确保计算数据绑定(bind)表达式:

protected void Page_Load(object sender, EventArgs e)
{
ItemMenuBtn.DataBind();
}

默认情况下,单击 LinkBut​​ton 会在 __doPostBack 的帮助下触发回发。在 OnClientClick 事件处理程序中返回 false 会取消回发。

关于javascript - 在 OnClientClick 中执行 Eval,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39129604/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com