asp.net使用placeHolder(转载)

来源:互联网 发布:java编程思想第6版pdf 编辑:程序博客网 时间:2024/05/19 13:59
我是从asp转向asp。net的,习惯于使用Response.Write,和<%=%> 这样的方式来输出
微软在asp.net 2.0 中给出的PlaceHolder解决方案,更加符合后台和表现分离的原则;
在实际使用过程中可以向PlaceHolder添加任何Html控件,甚至包括JavaScript代码。
这基本满足了JavaScript要在特定的位置出现的问题;


将 PlaceHolder 控件用作存储动态添加到网页的服务器控件的容器。PlaceHolder 控件不产生任何可见输出并且只能用作网页上其他控件的容器。可以使用 Control.Controls 集合添加、插入或移除 PlaceHolder 控件中的控件。

前台:
<asp:PlaceHolder ID="PlaceHolder1" runat="server"></asp:PlaceHolder>

后台:
HtmlButton bt=new HtmlButton();//声明一个新的按钮
bt.InnerText="我是按钮";
PlaceHolder1.Controls.Add(bt);//添加到控件中

Literal htm=new Literal;//添加<br/>或<p>或普通text使用这种方式
htm.Text="<p></p>我是HTML代码<br/>";
PlaceHolder1.Controls.Add(htm);

微软的参考地址:http://msdn2.microsoft.com/zh-cn/library/system.web.ui.webcontrols.placeholder(VS.80).aspx


下面的代码示例演示如何将控件动态添加到 PlaceHolder 控件。

C#
<%@ Page Language="C#" AutoEventWireup="True" %><html><head>   <script runat="server">      void Page_Load(Object sender, EventArgs e)      {         HtmlButton myButton = new HtmlButton();         myButton.InnerText = "Button 1";         PlaceHolder1.Controls.Add(myButton);         myButton = new HtmlButton();         myButton.InnerText = "Button 2";         PlaceHolder1.Controls.Add(myButton);         myButton = new HtmlButton();         myButton.InnerText = "Button 3";         PlaceHolder1.Controls.Add(myButton);         myButton = new HtmlButton();         myButton.InnerText = "Button 4";         PlaceHolder1.Controls.Add(myButton);      }   </script></head><body>   <form runat="server">      <h3>PlaceHolder Example</h3>      <asp:PlaceHolder id="PlaceHolder1"            runat="server"/>   </form></body></html>
0 0
原创粉丝点击