A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 杨占伟 于 2012-12-4 23:05 编辑

页面上定义了两个label标签: <label id = "lblOnUser"></label>    <label id = "lblAllUser"></label>
后台代码如下:
     protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            lblOnUser.Text = Application["OnUser"].ToString();    //为无法访问<label>
            lblAllUser.Text = Application["AllUser"].ToString();
        }
    }
为什么访问不到这两个标签,该怎么访问呢?

评分

参与人数 1技术分 +1 收起 理由
郑文 + 1

查看全部评分

6 个回复

倒序浏览
要在后台访问前台的标签, 必须给控件加上属性  runat=“server”

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
加了runat = "server" 运行提示错误如下:

mypicture23.JPG (26.34 KB, 下载次数: 72)

mypicture23.JPG
回复 使用道具 举报
label在后台没有 Text属性, 是 InnerText

01.jpg (5.39 KB, 下载次数: 61)

前台

前台

02.jpg (27.7 KB, 下载次数: 62)

后台

后台
回复 使用道具 举报
王继光 发表于 2012-12-4 12:47
label在后台没有 Text属性, 是 InnerText

非常感谢~~~
回复 使用道具 举报
普通html标签在后台处理时是当做普通字符串来处理的,并没有对它进行编译,必须加runat="server"属性才能在后台访问到。
加runat="server"属性的html标签在后台访问时,它的属性的名字跟在前台时的属性名相同。
比如前台页面有一个<input id="htmlBtn" type="button" runat="server" />,要设置它显示的文字是在后台htmlBtn.Value=“”来设置的。而不是像高度封装后的asp.net控件,通过aspBtn.text=“”来设置。
回复 使用道具 举报
汪磊 中级黑马 2012-12-10 12:12:55
7#
关于这一点来说,你必须懂得一点,什么是服务器控件, 一般我们在VS中工具箱拖出来的都是服务器控件, 他们有一个共同的特点就是有个 runat="server"属性,  基本上所有的标签都可以加上这个标签成为服务器控件, 这样后台就可以操作了
label标签编译过后 在浏览器解释的是一个span标签  所以没有Text属性,  用 InnerText设置, 例如<span>abc</span>,这个span标签的 InnerText就是abc
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马