ASP.NET:将服务器控件与客户端控件混合?

发布于 2024-09-30 03:31:13 字数 183 浏览 4 评论 0原文

有人可以帮忙吗?

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

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

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

这是好习惯还是坏习惯?

提前致谢

Can anyone help?

I normally use server controls i.e Textbox so i can get access to the server side event.

But what if i don't need access to the server side event and i am going to place some jquery or javascript on the textbox for example.

Can i use a standard HTML (client controls) ?

Is this good practice or not?

Thanks in advance

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

旧伤慢歌 2024-10-07 03:31:13

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

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

YOu can use simple HTML standard control BUT if you want to access that controls value in ASP.NET then you will have to add runat="server tag" see below

<input type="text" runat="server" id="mytxtbox" name="mytxtbox">

If you really want to use HTML controls you can use them. but it will make your life easy to use standard ASP.NET controls if you are trying to access them on server side.

And if you want to access those controls using javascript as well then you can use something like

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')

thats how you can get textbox element and play with it in javascript.

This above code is a basic idea, depends how you want it to work

狼性发作 2024-10-07 03:31:13

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

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

3)它还节省了视图状态的内存约束。

1)If the controls are not going to be accessed in the server side, avoid using server controls.

2)When a server control is used, it goes through the whole life cycle starting from initialization to rendering and finally unloading.

3)It also saves the memory constraint on the view state.

清晨说晚安 2024-10-07 03:31:13

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

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

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

Yes you can use standard HTML controls, but asp.net controls are more flexible and you will have the same html output for each control types.
If you need to use JQuery and you have problems with controls IDs, see the documentation because you can write something like this (suppose JQuery in asp.net tag):

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

Anyway, I'm sure that there is a method in JQuery to call a single object also when know only a part of his ID name (but I don't remember how.. :))

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文