0

任何人都可以帮忙吗?

我通常使用服务器控件,即文本框,因此我可以访问服务器端事件。

但是,如果我不需要访问服务器端事件并且我将在文本框上放置一些 jquery 或 javascript 怎么办。

我可以使用标准 HTML(客户端控件)吗?

这是好习惯吗?

提前致谢

4

3 回答 3

2

您可以使用简单的 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 中使用它。

上面的代码是一个基本的想法,取决于你希望它如何工作

于 2010-11-03T15:39:03.167 回答
1

1)如果不打算在服务器端访问控件,请避免使用服务器控件。

2)当一个服务器控件被使用时,它经历了从初始化到渲染最后卸载的整个生命周期。

3)它还保存了对视图状态的内存约束。

于 2010-11-03T15:48:00.753 回答
0

是的,您可以使用标准的 HTML 控件,但 asp.net 控件更灵活,并且每种控件类型都有相同的 html 输出。如果您需要使用 JQuery 并且控件 ID 有问题,请参阅文档,因为您可以编写类似这样的内容(假设 JQuery 在 asp.net 标记中):

$('#<%=this.clientId%>').style.display = 'block';

无论如何,我确信 JQuery 中有一种方法可以在只知道他的 ID 名称的一部分时调用单个对象(但我不记得如何...... :))

于 2010-11-03T15:51:13.587 回答