日期:2014-05-18  浏览次数:20427 次

在ASP网页中设置控件的HTML属性的问题,读不懂
http://msdn2.microsoft.com/zh-cn/library/7a9d6h4f(VS.80).aspx
最底部的三段,读不懂。
可否用撒个例子讲解下,我自己写的例子,看拉效果但是仍然不知道如何解释这三段话。
--------------------------------
没有验证您添加到控件上的属性;键/值对按原样呈现给浏览器。

在设置一个属性时,它重写同一名称的任何现有属性。(它不修改现有属性上的值)。因此,如果希望修改属性,必须先读取它,再修改它,然后将它重新添加到控件中。

如果某一特性在控件中是通过属性表示的,则该属性优先于您进行的特性设置。例如,如果您尝试使用   value   属性设置文本,则   TextBox   控件的   Text   属性优先。
----------------------------------

------解决方案--------------------
sf我现在去看
------解决方案--------------------
抱歉。..我帮你把代码拿过来

我也不知道该怎么解释
<body id= "body " runat= "server ">
<form id= "form1 " runat= "server ">

<!-- Example1 -->
<input runat= "server " id= "Button1 " type= "button " onmouseover= "rollover() " onmouseout= "exitrollover() " />
</form>
</body>

<script runat= "server ">
private void Page_Load()
{
//Example 2
Button1.Attributes.Add( "onclick ", "alert( 'hello, world ') ");
Button1.Style.Add( "background-color ", "red ");

//Example 3
Button1.Attributes[ "bgcolor "] = "lightblue ";

}
</script>


------解决方案--------------------
1。
asp.net 服务器控件,封装了基本的 html 元素,如
常用的form (表单)元素
<input type=text /> 与 TextBox
<select /> 与 DropDownList 和 ListBox 对应

其他 html
<span> 与 Label 对应

以及一些复杂的控件,如 DataGrid/Calendar ...

但是,客户端 html 元素具有丰富的属性,特别是 CSS 属性,服务器控件没有一一的提供,或者没有一一对应,
对于服务器控件没有显示提供的,公开了一个名为 Attributes 的集合属性来供开发者自由设置、存储

2。
对于

// 没有验证您添加到控件上的属性;键/值对按原样呈现给浏览器。 ->
// .aspx 声明方式
<asp:TextBox id=MyTextBox1 onclick= "alert(this.value) " ...

// .aspx.cs 编程设置
MyTextBox1.Attributes[ "onclick "] = "alert(this.value) ";
是等价的


如果某一特性在控件中是通过属性表示的,则该属性优先于您进行的特性设置。例如,如果您尝试使用 value 属性设置文本,则 TextBox 控件的 Text 属性优先。
=======
// 请检查以下输出结果,并理解( value 为 html 属性, Text 与之对应,故此时 Text 优先)
<asp:TextBox id=MyTextBox1 value= "911 " Text= "119 " />


在设置一个属性时,它重写同一名称的任何现有属性。(它不修改现有属性上的值)。因此,如果希望修改属性,必须先读取它,再修改它,然后将它重新添加到控件中。
=======
对于这点,我想主要是在 style 上面
// 请注意观察以下对比呈现结果
// .aspx
<asp:Label id= "MyLabel1 " Text= "hello " />
<asp:Label id= "MyLabel2 " Text= "hello " />
<asp:Label id= "MyLabel3 " Text= "hello " />

// .aspx.cs

MyLabel1.style= "color:red ";
MyLabel2.style= "color:red ";
MyLabel3.style= "color:red ";

// now change Mylabel2.style
MyLabel2.style= "font-size:20px "; // color:red 丢失
// now change Mylabel3.style
MyLabel3.style= MyLabel3.style + ";font-size:20px "; // 手动拷贝 color:red


Hope helpful :)
------解决方案--------------------
帮顶,接分!