顺便说一句,那将是在中继器或类似的东西中。然而,我现在尝试使用不显眼的 JavaScript,从而摆脱标记中的任何 JS。我试图找出在这种情况下的最佳做法是什么?我使用了-6ren">
gpt4 book ai didi

asp.net - 具有服务器端值的不引人注目的 JavaScript,最佳实践?

转载 作者:行者123 更新时间:2023-12-03 22:43:57 24 4
gpt4 key购买 nike

我习惯做这样的事情:

<a href="Javascript:void(0);" onclick="GetCommentForGeneralObservation(<%# Eval("ID") %>)">

顺便说一句,那将是在中继器或类似的东西中。然而,我现在尝试使用不显眼的 JavaScript,从而摆脱标记中的任何 JS。我试图找出在这种情况下的最佳做法是什么?我使用了属性,然后使用 JQuery 获取值传递给 AJAX 调用,但这似乎有点麻烦。

根据第一个回复进行编辑:

我想的更多

Separation of functionality (the "behavior layer") from a Web page's structure/content and presentation.

据我所知,这是不显眼的 JS 的一部分。

这恰好适用于一个应用程序,我不必担心客户端上的 Javascript 被关闭,它在我的公司内部托管。我想要的是,如果我要通过 JQuery 将 onclick 事件附加到单独的 .js 文件中,如何将 Eval("ID") 中的值获取到 JS 调用中。

抱歉没说得更清楚。我理解面向公众的应用程序需要逐步增强。

最佳答案

在 HTML 5 中,您可以定义自己的属性,前缀为“data-”

例如

<a  
class="comment"
data-rendered-id="<%# Eval("ID") %>"
href="/getCommentForGeneralObservation/<%# Eval("ID") %>" >

然后在您的点击事件处理程序中使用 jQuery 中的该属性。

$(".comment").click(function () {
var id = $(this).attr("data-rendered-id");
return GetCommentForGeneralObservation(id);
});

只要支持 jQuery,这也适用于大多数 HTML5 之前的浏览器。

请注意,在不显眼的 javascript 中,您确实应该支持非 javascript 浏览器,因此您需要一个同样有效的 href 属性。

关于asp.net - 具有服务器端值的不引人注目的 JavaScript,最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1460664/

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