代码之家  ›  专栏  ›  技术社区  ›  Martin

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

  •  0
  • Martin  · 技术社区  · 14 年前

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

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

    这是不是好的做法?

    提前谢谢

    3 回复  |  直到 14 年前
        1
  •  2
  •   zish    14 年前

    可以使用简单的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 %>')
    

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

        2
  •  1
  •   Hunter    14 年前

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

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

        3
  •  0
  •   Fabio    14 年前

    是的,您可以使用标准的HTML控件,但是ASP.NET控件更灵活,并且每个控件类型都具有相同的HTML输出。

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

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