gpt4 book ai didi

asp.net - 从 ASPX 将多个 Eval() 传递给 JavaScript 函数

转载 作者:行者123 更新时间:2023-11-29 15:54:21 26 4
gpt4 key购买 nike

我试图将多个 Eval() 参数从 .aspx 文件传递​​给 JavaScript 函数,但我不断收到编译器错误。我是 JavaScript 的新手,之前从未真正使用过 Eval()。我哪里错了?

注意:下面显示的行实际上都在一行上,但为了清楚起见在这里换行了:

<asp:LinkButton runat="server" Text='<%#Eval("Title")%>'
OnClick='javascript:ShowEventDetails'
CommandArgument='<%#
Eval("EventID").ToString() & Eval("Title").ToString() &
Eval("Location").ToString() & Eval("StartTime").ToString() &
Eval("Description").ToString() & Eval("Link").ToString() &
Eval("ContactFirstName").ToString() & Eval("ContactLastName").ToString() &
Eval("ContactEmail").ToString() & Eval("InsertionTime").ToString() &
Eval("EventAdmin").ToString()%>); ' />

有更好的方法吗?如果有,它们是什么?

最佳答案

OnClick是控件上的一个属性,它需要对事件处理程序方法的引用。将 JavaScript 放在 OnClick 属性中将不起作用。

如果您想在单击按钮时执行任意 JavaScript,请使用 OnClientClick .我假设您想将评估作为参数传递给 ShowEventDetails(为了便于阅读而格式化):

<asp:LinkButton ID="LinkButton1" runat="server" Text='<%# Eval("Title")%>' 
OnClientClick='ShowEventDetails("<%# Eval("EventID").ToString() %>",
"<%# Eval("Title").ToString() %>",
"<%# Eval("Location").ToString() %>",
"<%# Eval("StartTime").ToString() %>",
"<%# Eval("Description").ToString() %>",
"<%# Eval("Link").ToString() %>",
"<%# Eval("ContactFirstName").ToString() %>",
"<%# Eval("ContactLastName").ToString() %>",
"<%# Eval("ContactEmail").ToString() %>",
"<%# Eval("InsertionTime").ToString() %>",
"<%# Eval("EventAdmin").ToString() %>");' />

本质上你是在构建一个长字符串:

ShowEventDetails('123','Event Title','New York' ... etc ...

点击 LinkBut​​ton 时在 JS 中执行。

关于asp.net - 从 ASPX 将多个 Eval() 传递给 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/748080/

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