2010-11-03 95 views
0

任何人都可以帮忙吗?ASP.NET:混合服务器控件与客户端控件?

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

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

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

这是好的做法还是不行?

在此先感谢

回答

2

你可以使用简单的HTML标准的控制,但如果你想在ASP.NET控件值的访问,那么你将不得不增加RUNAT =“服务器标记”见下文

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

如果你真的想使用HTML控件,你可以使用它们。但如果您试图在服务器端访问它们,它将使您的生活易于使用标准的ASP.NET控件。

如果你想使用JavaScript,以及那么你可以使用像

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

这就是你如何能得到textbox元素,并在JavaScript中发挥它来访问这些控件。

这上面的代码是一个基本的想法,要看你怎么想它的工作

+2

+1。如果不需要从C#/ VB访问标准HTML输入字段,那么这是一个很好的做法。事实上,如果你想分割头发,它可能会减少服务器处理时间。 – LesterDove 2010-11-03 15:42:49

+0

谢谢你们..我正在寻找的东西 – Martin 2010-11-03 15:44:07

1

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

2)使用服务器控件时,它贯穿整个生命周期,从初始化到渲染并最终卸载。

3)它还保存视图状态的内存限制。

0

是的,你可以使用标准的HTML控件,但是asp.net控件更加灵活,并且每个控件类型都会有相同的html输出。 如果你需要使用jQuery和你有控制ID的问题,请参阅文档,因为你可以写这样的事情(在asp.net标签猜想的JQuery):

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

无论如何,我敢肯定,有是JQuery调用单个对象的方法,当知道他的ID名称的一部分时(但我不记得如何.. :))

相关问题