javascript msgDisp 是- function msgDisp(lid) { alert(lid); -6ren">
gpt4 book ai didi

javascript - 如何将 javascript 函数与 Eval 的 OnClientClick 事件绑定(bind)?

转载 作者:数据小太阳 更新时间:2023-10-29 04:03:21 25 4
gpt4 key购买 nike

我的链接按钮 -

<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit" OnClientClick="javascript:msgDisp('<%# Eval(LocationId).toString() %>')" />

javascript msgDisp 是-

<script type="text/javascript" language="javascript">
function msgDisp(lid) {
alert(lid);
}
</script>

但它并没有在 pop 中给出 LocationId,而是整个字符串 <%#......%> 出现在弹出消息中。 我如何在 javascript 中传递 Eval 值。 p>

最佳答案

您可以将 OnClientClick 的全部内容构建为代码括号内的字符串,它会像您期望的那样输出。

<asp:LinkButton runat="server" ID="lbtnEdit" Text="edit" 
OnClientClick='<%# "msgDisp(" + Eval("LocationId") + ");" %>' />

这是假设 LocationId 是一个有效的数字 - 当它呈现时没有引号来包装您的值,因此输出类似 msgDisp(hello); 的内容将会中断。我不知道如何以这种方式解决这个问题,所以如果您必须这样做,我建议在 ItemDataBound 事件期间设置 OnClientClick 服务器端。如果父级是 Repeater 控件,这就是它想要的。

protected void notesRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
{
MyClass item = (MyClass)e.Item.DataItem;
LinkButton lbtnEdit = (LinkButton)e.Item.FindControl("lbtnEdit");
lbtnEdit.OnClientClick = string.Format("msgDisp('{0}');", item.LocationId);
}

关于javascript - 如何将 javascript 函数与 Eval 的 OnClientClick 事件绑定(bind)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3829701/

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