关于html标签,htmlweb控件 ,和webControl

来源:互联网 发布:知豆电动汽车怎么租 编辑:程序博客网 时间:2024/04/30 12:50

总结:

1.

<form id ="form1" runat="server"/>中用
<input type="submit" value="ddd" id="btn_id" name="btn_name"/>
这种方式进行提交时,会在服务段发现,ispostback的时候即回发过程中 ,Request.Form或者Request.QuereyString能获取到 所有客户端 有name属性(uniqueid)的html所提交的表单值。若客户端标签里没有name属性(uniqueiD),而只有id属性(clientId),服务端的Request.Form(或Request.QuereyString)是读不到这个元素所提交的表单提交的值。
通过得到的结论是:服务端Request.Form(或Request.QuereyString)是通过name来识别控件树中的html元素的。

 

2.
<input type="text" id="txt2_id"  name="txt2_name" runat="server"/>
<asp:TextBox id="txt3_id"  name="txt3_name" runat="server"/>
以上htmlweb控件和web服务器控件,说明了,服务器控件会自动生成name属性的

 

3.

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title></title>
</head>
<body>
    <form id="form1" method="get" runat="server">
    <div>
    <input type="text" id="txt1_id" name="txt1_name"/>
    <input type="text" id="txt2_id"  name="txt2_name" runat="server"/>
    <asp:TextBox id="txt3_id"  name="txt3_name" runat="server"/>
        <input type="submit" value="ddd" id="btn_id" name="btn_name"/>
    </div>
    </form>
</body>
</html>

如果我们去掉<form id="form1" method="get" runat="server">中[runat="server"],,然后我们再在服务段调试后发现,我们仍然可以获取到客户端id提交的值(我原以为获取不到)。事实上,如果这个时候表单里有web服务器控件的时候是会提示错误的。(但是若果有htmlweb控件不会提示该错误,原因还不知道为什么。但是如果该html控件有服务端事件触发的话,是不会执行的)。如果表单里不用web服务器控件,可以获取到客户端提交的值。但是获取的过程,却是在
(!ispostback)的过程中。按照那个ispostback为false条件的的理论,我们发现Request.Form或Request.QueryString中并没有__viestate开头的name了。

 

4.htmlweb控件也支持服务器端事件,不过方法是onserverclick.我在试验的过程中发现,多生了__doPostBack()这个js方法。

 

原创粉丝点击