2012-01-13 72 views
4

反正通过前端标签传递一个对象给用户控件吗?我尝试了以下,但它不起作用。是否可以在前端将对象传递给usercontrol?

后端

public Range Range { get; set; } 

    protected void Page_Load(object sender, EventArgs e) 
    { 
     // Popular channel range 
     Range Range = new Range() 
     { 
      Min = 0, 
      Max = 8 
     }; 
    } 

前端

<uc:PopularItems Range="<%=Range %>" runat="server" /> 

回答

11

你不能用一个服务器控件使用<%=。您应该使用<%#和数据绑定:

后端

[Bindable(true)] 
    public Range Range { get; set; } 

前端

<uc:PopularItems ID="myControl" Range="<%# Range %>" runat="server" /> 

后端的页面

if(! IsPostBack) { 
     myControl.DataBind(); 

     // or, to bind each control in the page: 
     // this.DataBind(); 
    } 
相关问题