在使用 ASP.Net 控件时设置客户端“onclick”事件是否有最佳实践?仅添加 onclick 属性会导致 Visual Studio 发出警告,提示 onclick 不是该控件的有效属性。通过代码隐藏在 Page_Load 事件期间添加它是可行的,但没有我想要的那么清晰。
这是唯一的两个选择吗?有没有正确的方法可以做到我所缺少的?
谢谢! 埃里克·西普尔
最佳答案
**
只是对答案的预先说明:VS 中的 HTML 验证通常是废话。它提示那些在现实生活中有效的东西,即使这些东西是不好的做法。但有时你必须打破规则才能完成任务。
每个 ASP.NET 页面(2.0 及更高版本)都带有 ClientScriptManager 。您可以使用它从服务器端代码注册 javascript。当页面上的 HTML 控件全部存在于 DOM 中时,您可以传入 javascript,在页面加载后在控件上注册事件。
它在页面上提供了一个单一的、统一的位置来动态添加 JavaScript,这并不是一件坏事。然而,它非常丑陋。
在 ASP.NET 服务器控件模型消亡的这个时期,您可能希望按照 ASP.NET MVC future 的方式设置事件。获取 jQuery 的副本并将其添加到您的网站。然后您可以轻松注册您的事件:
<html>
<head>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("controlId").bind("click", function(e) { /* do your best here! */ });
});
</script>
</head>
<!-- etc -->
</html>
关于asp.net - 将 Javascript 与 ASP.Net 控件结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/182587/