任何人都可以帮忙吗?
我通常使用服务器控件,即文本框,因此我可以访问服务器端事件。
但是,如果我不需要访问服务器端事件并且我将在文本框上放置一些 jquery 或 javascript 怎么办。
我可以使用标准 HTML(客户端控件)吗?
这是好习惯吗?
提前致谢
任何人都可以帮忙吗?
我通常使用服务器控件,即文本框,因此我可以访问服务器端事件。
但是,如果我不需要访问服务器端事件并且我将在文本框上放置一些 jquery 或 javascript 怎么办。
我可以使用标准 HTML(客户端控件)吗?
这是好习惯吗?
提前致谢
您可以使用简单的 HTML 标准控件,但如果您想在 ASP.NET 中访问该控件值,则必须添加 runat="server tag" 见下文
<input type="text" runat="server" id="mytxtbox" name="mytxtbox">
如果你真的想使用 HTML 控件,你可以使用它们。但是,如果您尝试在服务器端访问它们,那么使用标准 ASP.NET 控件将使您的生活变得轻松。
如果您也想使用 javascript 访问这些控件,那么您可以使用类似
var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')
这就是你如何获取文本框元素并在 javascript 中使用它。
上面的代码是一个基本的想法,取决于你希望它如何工作
1)如果不打算在服务器端访问控件,请避免使用服务器控件。
2)当一个服务器控件被使用时,它经历了从初始化到渲染最后卸载的整个生命周期。
3)它还保存了对视图状态的内存约束。
是的,您可以使用标准的 HTML 控件,但 asp.net 控件更灵活,并且每种控件类型都有相同的 html 输出。如果您需要使用 JQuery 并且控件 ID 有问题,请参阅文档,因为您可以编写类似这样的内容(假设 JQuery 在 asp.net 标记中):
$('#<%=this.clientId%>').style.display = 'block';
无论如何,我确信 JQuery 中有一种方法可以在只知道他的 ID 名称的一部分时调用单个对象(但我不记得如何...... :))