我想实现如下功能:
  default.aspx页面有一个按钮Button1,它是具有权限的人才可以看到的,其他人则看不到它。我想这样做:先定义一个User类,里面有个静态方法:public static bool UserHasRight(...).再在default.aspx的html里面的对应Button1的按钮的Visible属性进行如下设置:
Visible=<%# User.UserHasRight()%>。可是没有效果。我记得以前都是这样搞的啊。是不是2005不同于2003的缘故?请高手指教!!!

解决方案 »

  1.   

    <%# User.UserHasRight()%>的返回值看看对吗
      

  2.   

    我又进行了如下测试: 在default.cs里面线上一个函数 public string Test(){return "hehe";}
    然后在html里面的Button1的text属性进行如下设置:text="<%# Text()%>"
    结果Button1的文本为空,好像取到了空值。怎么回事?
      

  3.   

    <input id=txtid Visible='<%= User.UserHasRight()%>'>
      

  4.   

    用:
    Visible=<%=User.UserHasRight()%>。或者在Page_Load()里加一句:
    Button1.DataBind()
      

  5.   

    为什么我使用Visible=<%=User.UserHasRight()%>的时候,提示我说
    server tags cant contain <% ... %> contructs.
    这是什么原因啊?
      

  6.   

    Page_Load()里加:
    TextBox1.Attributes.Add("style","display:"+User.UserHasRight());
      

  7.   

    youbl(wolf)的方法我去试试。先感谢大家的帮助。
    顺便问一下:用我开始提出的方法来设置按钮的可见性,应该也是可行的吧?
      

  8.   

    不行,你也可以在Page_Load()里加:
    if(User.UserHasRight() == false)
    TextBox1.Visible=False;
    else
    TextBox1.Visible=True;
      

  9.   

    to:  youbl(wolf)
    你说的上楼的方法,我是知道肯定行的。不过这样总觉得不是个好的解决方法。呵呵
    我最想直接在html里面设置不同权限的人可以见到不同的页面内容。不知道大家可不可以帮我啊。
      

  10.   

    有runat=server 的控件是不可以加  <% ... %>的
    没有 runat=server 的控件才能加
      

  11.   

    这个很可能是User.UserHasRight() 返回的值不对,或者没有值!在page_load()中查看一下User.UserHasRight() 返回的是什么值,是否是你所期望的
      

  12.   

    为了方便测试,我直接把User.UserHasRight() 的函数里面写了一句话:return false;
    所以它的返回值肯定不是问题。而且,我在default.cs里面线上一个函数 
    public string Test(){return "hehe";}
    然后在html里面的Button1的text属性进行如下设置:
     text="<%# Text()%>"
    即使这样,按钮Button1的text值还是不会为:"hehe".
    到底是2005不支持这样的操作??
    我在2003里都是这样搞的啊。大家再来帮忙!!
      

  13.   

    再说一遍:
    有   runat=server 的控件是不可以加  <% ... %>的
    没有 runat=server 的控件才能加
    不管是ASP.net1.1 还是 asp.net2.0都是这样
      

  14.   

    我现在就想知道在Html里面,根据后台信息来设置控件的可见性,是不是可行的?
    如果可行,该如何设置? 不想在cs文件里面根据后台信息来设置控件的可见性。
    帮忙!!!
      

  15.   

    我还是按照自己题目的方法写的。只是在page_load事件里,给对应的Button1写了如下语句就OK了。: this.Button1.DataBind();就着样将就将就了。
    结贴!!