.NET服务器控件的属性如何绑定后台变量??后台代码:
public partial class _Default : System.Web.UI.Page
{
    protected string strDate = string.Empty;
    protected void Page_Load(object sender, EventArgs e)
    {
        strDate = DateTime.Now.ToString("yyyyMMdd");
    }
}
前台代码:
    <form id="form1" runat="server">
    <div>
    <%=strDate %>
        <asp:TextBox ID="TextBox1" runat="server" Text='<%=strDate %>'></asp:TextBox>
    </div>
    </form>
请问一下直接绑定【<%=strDate %>】显示正常,但是一旦将该变量绑定到textbox的属性text上,输出地则是<%=strDate %>,不能识别,请问该如何绑定?
.NET服务器控件的属性如何绑定后台变量??

解决方案 »

  1.   

    1。<asp:TextBox ID="TextBox1" runat="server" Text='<%=strDate %>'></asp:TextBox>
    原因是这样的,你这用的是服务器控件(runat="server")就得麻烦点
    你先得在后台写个方法,如:
    protected string GetNameCookie()
    {
      return strDate = DateTime.Now.ToString("yyyyMMdd");
    } 然后在你的页面(可以从页面点右键然后选“组件设计器”然后选择页面的事件进行编辑)的prerender事件处理中写一行: 
        this.DataBind(); 
    最后前台界面,所有需要这个函数的地方使用绑定语法,例如: 
    <asp:TextBox ID="TextBox1" runat="server" Text=" <%# this.GetNameCookie() %>" OnPreRender="TextBox1_PreRender"></asp:TextBox>
    2。如果你用的不是服务器控件,如
       <input id="input" type ="text" value=<%=strDate %> />就可以了!
      

  2.   

    这是因为含有runat="server" 不可以和<%=strDate %>公用的runat="server" 是通过ID可以在后台赋值的
      

  3.   

      一般情况下:
      protected void Page_Load(object sender, EventArgs e)
      {
         TextBox1.Text=DateTime.Now.ToString("yyyyMMdd");
      }
      

  4.   

    楼上的,学习了,补充一点,可以在后台的page_load事件中给TextBox1.Text赋值,也可以达到效果
      

  5.   

    <%公共变量名%>
    <%=公共方法名%>不明白你为何要这样绑定TextBox....
      

  6.   

    TextBox.Text="";
    document.getElementById("txt").value="";