在info.aspx中加入
private string _x = "";public string X
{
   get{return _x;}
   set{_x=value;}
}
这样就行了

解决方案 »

  1.   

    -----------------
    info.ascx.cs
    -----------------
    public class info : System.Web.UI.UserControl
    {
    protected System.Web.UI.WebControls.Label Label1; private void Page_Load(object sender, System.EventArgs e)
    {
    // 在此处放置用户代码以初始化页面
    }         [Web窗体生成代码]         private string _message = ""; public string Message
    {
    get{return _message;}
    set{_message = value;}
    } protected override void Render(System.Web.UI.HtmlTextWriter writer)
    {
    if(Message != "")
    this.Label1.Text = _message;
    base.Render (writer);
    } }
    然后像拖文本框一样将控件拖入aspx页面,在其HTML代码中写:
    <%@ Register TagPrefix="uc1" TagName="info" Src="Controls/info.ascx" %>
    ......
    <uc1:info id="Info1" runat="server" Message="111"></uc1:info>
    注意Message="111"这句。实际上用户控件就像一个类一样。
      

  2.   

    你是想要给用户控键传入参数?
    你可以在用户控件里面设置一个属性比如:
    public string a{
      get{return (string)ViewState["a"];}
      set{ViewState["a"] = value;}
    }
    这样你可以这样使用他
    control = this.Page.LoadControl("usercontrols/info.ascx");
    ==〉做一个类型转换info yourinstance = (info)control;
    PlaceHolder1.Controls.Add(yourinstance);
    yourinstance.a = "111";
      

  3.   

    System.InvalidCastException: 指定的转换无效。你可以在用户控件里面设置一个属性比如:
    public string a{
      get{return (string)ViewState["a"];}
      set{ViewState["a"] = value;}
    }
    这样你可以这样使用他
    control = this.Page.LoadControl("usercontrols/info.ascx");
    ==〉做一个类型转换info yourinstance = (info)control;
    PlaceHolder1.Controls.Add(yourinstance);
    yourinstance.a = "111";
      

  4.   

    你的info控件的后台类是什么?是不是info?info一定要试你的info.ascx后台类的名字!
    info control = (info)this.Page.LoadControl("usercontrols/info.ascx");
    PlaceHolder1.Controls.Add(control);
    control.a = "111";
    这样你试一试!
      

  5.   

    项目TestWeb,下有用户控件info.aspx,页面Webform1.aspx,上有一文本框,一按钮,一PlaceHolder。
    用户控件按原写给你的定义。
    --------------
    webform1.aspx.cs
    --------------
    private void Button1_Click(object sender, System.EventArgs e)
    {
    info i = (info)Page.LoadControl(Request.ApplicationPath + "/info.ascx");
    i.Message = this.TextBox1.Text.Trim();
    this.PlaceHolder1.Controls.Add(i);
    }