zoukankan      html  css  js  c++  java
  • 对比<input type="text" id="">和<asp:TextBox runat="server" ID="">

    首先这两个都是对应文本输入框形式:

    <input type="text"class="form-control"id="txt_add_pro_help_username"value="aaa"/>

    <asp:TextBox runat="server"CssClass="form-control"ID="txt_add_pro_help_username"/>

        1)这两个在形式上是一模一样的,原因在于使用相同的class样式修饰。

        2)js使用上也是一样的,虽然<asp:TextBox>是服务器控件,但是ID也是可以作为控件id在js上使用的。

      $("#txt_add_pro_help_username").val(result[2]);

      $("#txt_add_pro_help_userdept").val(result[3]);

             这两个一个是对应<input>形式的id,一个是对应<asp:TextBox>形式的id,结果都是一样的。

    类型“TextBox”的控件“txtName”必须放在具有 runat=server 的窗体标记内。

    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。 

    检查一下<form>是否正确,服务器端控件必须放在<form>内</form>

    <form id="form1" runat="Server">
       <asp:TextBox id="txtName" runat="server">
       .....
       .....

    </form>

    <body>
    <form runat="server" id="form1" method="post" action="test.aspx">
    <div>
    <input id="Text1" type="text" name="name1"/>
    <input id="Submit1" type="submit" value="submit" />
    <input id="Reset1" type="reset" value="reset" /></div>
    </form>
    </body>
    以上代码点击按钮的时候不能转到test.aspx页面,删除runat="server"后就可以正常转到test.aspx页,而且能够正常显示,为什么啊?收起
    既然说毫无意义,删除和不删除效果确不一样啊!
    runat="server"如LS那位仁兄说的那样,既然有了runat="server"别再加action了,两个的提交方式都不一样,action将form数据给了test.aspx页面,而runat="server"直接回交服务器,
    处理数据,又以数据加密后的hidden属性的input控件插入回去,实现表单的状态保存~如果test.aspx是另一个页面当然就有了你说的那种现象了

    aspx运行时会被编译,其中没有runat server属性的html标签会被直接写入response,有runat server属性的html标签会转换成对应的HtmlControl子类加入到页面的控件集合中,按照一个控件的生命周期进行处理,这就是”运行在服务器上”的意思.一个最直接的表现就是,当你写一个id=”abc”的div,如果有runat server属性,在你的aspx.cs文件中直接可以使用abc.XXX来操作这个对象,而没有runat server的话,在cs中是没有这个对象的. 
    以上说的是asp.NET中的html控件,asp控件只能runat server,因为他们不是直接和html对应的

  • 相关阅读:
    匿名内部类(八)
    局部内部类(七)
    局部内部类(六)
    成员内部类(五)
    成员内部类(四)
    静态内部类(三)
    静态内部类(二)
    内部类(一)
    zip解压破解
    爱剪辑软件使用
  • 原文地址:https://www.cnblogs.com/sjd1118/p/7233054.html
Copyright © 2011-2022 走看看