gpt4 book ai didi

javascript - 如何让 javascript eval 返回字符串而不是变量?

转载 作者:行者123 更新时间:2023-12-02 16:44:06 24 4
gpt4 key购买 nike

我最近发帖询问如何将数据绑定(bind)数据传递给 JavaScript 函数。在帮助下,我得到了我想要的结果;然而,紧接着我又遇到了另一个问题。

    <asp:ImageButton ID="ImageButton1" CommandArgument='<%# Eval("MECNUM") %>' runat="server" ImageUrl="printer.png" OnClick="Display_OnClick"
OnClientClick='<%# Eval("MECNUM", "Display_OnClientClick({0})") %>' />

假设 MECNUM 变成了 XYZ。不幸的是它会抛出一个错误,说 XYZ 是一个 undefined variable 。我真正想要的是传递字符串“XYZ”。放置 XYZ.toString() 不起作用,因为问题仍然是变量未定义。有什么想法吗?

    function Display_OnClientClick(mecnum) {
alert(mecnum);
}

非常感谢您的帮助

最佳答案

您需要将其括在双引号中。像这样。

'<%# Eval("MECNUM", "Display_OnClientClick(\"{0}\")") %>'

为什么需要这样做?

如果你不这样做,它将生成这样的 javascript - Display_OnClientClick(XYZ) 。显然 XYZ 需要是 javascript 变量或者之前定义为 javascript 变量。为了掩盖这一点,您需要 Display_OnClientClick("XYZ") 。这里它会说 XYZ 是一个字符串并且可以工作。这是这里唯一的原因。

如果您遇到引号转义问题(js 错误),您可以引用此 - how to escape characters when using server side delimiters

关于javascript - 如何让 javascript eval 返回字符串而不是变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27252978/

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