注册 登录
编程论坛 ASP.NET技术论坛

如何在前台的HTML标记中获取后台的变量?谢谢!

foshan 发布于 2008-10-06 12:57, 3513 次点击
如何在前台的HTML标记中获取后台的变量?谢谢!
后台代码:
    protected void Page_Load(object sender, EventArgs e)
    {
        string MyText = "123";
    }
前台HTML标记:
    <form id="form1" runat="server">
        <div>
            <asp:TextBox ID="TextBox1" runat="server" Text='<%= MyText %>'></asp:TextBox>
       </div>
    </form>
怎么网页运行后TextBox1不能获取到后台的值“123”?有办法实现在标记中就能直接获取后台的变量的值吗?谢谢!
6 回复
#2
hebingbing2008-10-06 13:36
你把MyText定义成全局变量放到最上面:
public static string MyText;
protected void Page_Load(object sender, EventArgs e)
    {
         MyText = "123";
    }
这样就可以了
#3
foshan2008-10-06 14:18
谢谢版主。试了,运行后,TextBox1显示的内容为“<%= MyText %>”,而不是 123,如何解决这个问题???谢谢!
#4
仰望星空2008-10-06 14:31
<asp:TextBox ID="TextBox1" runat="server" Text='<%# MyText %>'></asp:TextBox>

[[it] 本帖最后由 仰望星空 于 2008-10-6 14:32 编辑 [/it]]
#5
zsf20062008-10-06 15:40
做人要厚道
前台:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# myName %>'></asp:TextBox>
后台:
public string myName = "北京欢迎您";
    protected void Page_Load(object sender, EventArgs e)
    {
        Page.DataBind();
     }
#6
bygg2008-10-06 16:11
<input type="text" value="<%=myName  %>" />

不要用服务器控件,用客户端控件
#7
foshan2008-10-07 09:16
谢谢上述泰斗们的解答!

第一种方法(用服务器端控件):
前台:
<asp:TextBox ID="TextBox2" runat="server" Text='<%# myName %>'></asp:TextBox>
后台:
public string myName;
    protected void Page_Load(object sender, EventArgs e)
    {
        myName = "北京欢迎您";
        Page.DataBind();
     }

第二种方法(用客户端控件):
前台:
<input id="Text1" type="text" value='<%= myName %>' />
后台:
public string myName;
    protected void Page_Load(object sender, EventArgs e)
    {
        myName = "北京欢迎您";
      }

[[it] 本帖最后由 foshan 于 2008-10-7 09:34 编辑 [/it]]
1