大家可以谈谈加了runat=server的WEB控件和HTML控件有什么区别吗?
一个html的input控件加上runat=server后与web服务器端的TextBox有什么区别,传值方式各是什么?
一个html的input控件加上runat=server后与web服务器端的TextBox有什么区别,传值方式各是什么?
解决方案 »
- href 参数问题,请高手帮忙指点,谢谢!!
- 新建asp.net web应用程序出现这样的错误,"尝试创建Web项目或打开位于URL"http://localhost/WebApplication1"..
- 如何才能将datagrid中获取的超级链接以绝对地址方式打开?
- 超级 简单的数据导入 我确不会 ,各位谁帮我弄弄
- TreeView与SQL和MySql
- 本地无法显示验证码
- 请问,能够获取访问当前页面的用户的域用户名称么(局域网)内?
- 使用MessageBox该引用什么命名空间?
- 找不到类型或命名空间名称“DataGrid1Adapter”(是否缺少 using 指令或程序集引用?)
- 在线急等:treeview怎么从两个表构建树?(一个部门表,一个员工表)请江雨大哥来救俺啊!
- 新人求助!!动态添加表格问题..
- 左右ListBox 实现无刷新 移动
protected void Page_Load(object sender, EventArgs e)
{
foreach (Control x in this.Panel1.Controls)
Print(x);
} private int n; private void Print(Control x)
{
this.Result.Text += string.Format("{0}. 一个{1}控件。", ++n, x.GetType().Name);
if (x is HtmlControl)
this.Result.Text += string.Format("TagName属性值是{0},Value属性值是{1}。", ((HtmlControl)x).TagName,
((HtmlControl)x).Attributes["value"]);
else if (x is LiteralControl)
this.Result.Text += string.Format("Text属性值是{0}。", Server.HtmlEncode(((LiteralControl)x).Text));
this.Result.Text += "<br />";
}
</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<asp:Panel ID="Panel1" runat="server">
<input type="text" value="Hello World!" />
<input type="text" runat="server" value="Hello World!" />
<asp:TextBox ID="TextBox1" runat="server" Text="Hello World!"></asp:TextBox>
</asp:Panel>
<asp:Label ID="Result" runat="server" EnableViewState="false">
</asp:Label>
</form>
</body>
</html>
只有亲自动手测试才可以真正看懂软件系统的运行机制,靠读书往往是会得到错误的理解。这个测试输出的结果是:1. 一个LiteralControl控件。Text属性值是 <input type="text" value="Hello World!" /> 。
2. 一个HtmlInputText控件。TagName属性值是input,Value属性值是Hello World!。
3. 一个LiteralControl控件。Text属性值是 。
4. 一个TextBox控件。
5. 一个LiteralControl控件。Text属性值是 。也就是说:
1. 被一些人称之为"客户端控件"的第一行<input>的标签被解析为服务器端LiteralControl控件。它也是一个绝对的服务器控件。
2. 具有Runat="Server"标记的<input>标签被解析为服务器端HtmlInputText控件,它属于我们称之为“HTML控件”的这一组控件中的一种。
3. 使用<asp:Text>来书写的xhtml标签被解析为服务器端TextBox控件,它属于我们称之为“Web控件”的这一组控件中的一种。
4. 实际上解析器还将设计时为了格式化而打入的不可见的回车换行字符解析成两个LiteralControl控件实例。从这个测试入手,你可以再遇到是而非的对于“客户端控件、服务器控件”的说法时有些分辨能力。