在asp.net的网站项目中添加了一个btn.ascx的用户控件,自定义属性purview,可读写!现在在类库项目中有一通用方法,我怎么设置btn用户控件的purview属性????用page.findcontrol("btn").purview编译不通过,请大侠指点…多谢多谢!

解决方案 »

  1.   

    page.findcontrol("btn") 类型不匹配
      

  2.   


    不管是page还是form都可以找到这个控件,问题是访问不了属性purview,是不是我的思路有问题??怎么才能在类库项目中设置purview属性呢???
      

  3.   


    (form1.findcontrol("控件的id") as 你的用户控件类名).purview
      

  4.   

    <%@ Page Language="C#" AutoEventWireup="true" %><%@ Register Src="btn.ascx" TagName="btn" TagPrefix="uc1" %>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <script runat="server">  protected void Page_Load(object sender, EventArgs e)
      {
        btn b = this.form1.FindControl("btn1") as btn;
        b.preview = "okkkkkkkkkkkkkkkkkk";
      }
    </script>
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head id="Head1" runat="server">
      <title></title>
    </head>
    <body>
      <form runat="server" id="form1">
      <uc1:btn ID="btn1" runat="server" preview="xxxx" />
      </form>
    </body>
    </html>
    btn.ascx<%@ Control Language="C#" ClassName="btn" %><script runat="server">
      public String preview { set; get; }
    </script>
    <%=preview%>
      

  5.   

    为创建一个基类btn.ascx,把purview作为基类的属性,再page.findcontrol("btn")强制转换成基类
      

  6.   


    各位大侠,如果在网站项目中这些都没有问题,问题是用户控件在网站项目中,我想在类库项目中写一个通用的方法,在这个方法中无法访问purview属性……
      

  7.   


    ming_mu:
    能不能说详细点??
      

  8.   

    public class UserControlBase:System.Web.UI.UserControl
    {
        public virtual void SetValue(Dictionary<string, object> args)
        { }
    }
    基类
      

  9.   

    ((HiddenField)TagName名.FindControl("控件id")).Value;
      

  10.   

    页面设计时已经添加好控件的方法
    控件名.属性名 = ...动态添加的控件:
     
    控件名 control = this.FindControl("控件名称") as 控件名;
    control....
      

  11.   

    在类库里也一样啊,你要传控件类的对象进去就行了
    如:public void 类库方法(控件名 _control){
     ...
    }
    page:类库方法(control);