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

ASP.NET:将服务器控件与客户端控件混合使用?,asp.net,servercontrols,Asp.net,Servercontrols,有人能帮忙吗 我通常使用服务器控件,即文本框,以便访问服务器端事件 但是如果我不需要访问服务器端事件,并且我将在文本框中放置一些jquery或javascript,该怎么办呢 我可以使用标准HTML(客户端控件)吗 这是不是一种好的做法 提前感谢您可以使用简单的HTML标准控件,但如果您想访问ASP.NET中的控件值,则必须添加runat=“server tag”见下文 <input type="text" runat="server" id="mytxtbox" name="mytxtb

有人能帮忙吗

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

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

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

这是不是一种好的做法


提前感谢

您可以使用简单的HTML标准控件,但如果您想访问ASP.NET中的控件值,则必须添加runat=“server tag”见下文

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

如果你真的想使用HTML控件,你可以使用它们。但若您试图在服务器端访问标准ASP.NET控件,那个么使用标准ASP.NET控件将使您的生活更加轻松

如果您还想使用javascript访问这些控件,那么可以使用

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')
var mytxtele=document.getElementById(“”)
这就是获取textbox元素并在javascript中使用它的方法


上述代码是一个基本思想,取决于您希望它如何工作。您可以使用简单的HTML标准控件,但如果您希望在ASP.NET中访问该控件值,则必须添加runat=“server tag”见下文

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

如果你真的想使用HTML控件,你可以使用它们。但若您试图在服务器端访问标准ASP.NET控件,那个么使用标准ASP.NET控件将使您的生活更加轻松

如果您还想使用javascript访问这些控件,那么可以使用

var mytxtele = document.getElementById('<%= mytxtbox.ClientID %>')
var mytxtele=document.getElementById(“”)
这就是获取textbox元素并在javascript中使用它的方法

上述代码是一个基本思想,取决于您希望它如何工作

1)如果无法在服务器端访问控件,请避免使用服务器控件

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

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

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

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


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

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

$('#')。style.display='block';

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

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

$('#')。style.display='block';

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

+1。如果不需要从C#/VB访问标准HTML输入字段,则最好使用这些字段。事实上,如果你想挑拨离间的话,这可能会减少服务器处理时间。谢谢各位。。正是我想要的+1。如果不需要从C#/VB访问标准HTML输入字段,则最好使用这些字段。事实上,如果你想挑拨离间的话,这可能会减少服务器处理时间。谢谢各位。。这正是我想要的