我想向自定义控件中传递一个参数,这个参数是通过hosIntro.aspx?hosID=1 得到的,也就是说这个参数是会变的,请问在自定义控件中如何得到这个参数。引用控件:
<%@ Register TagPrefix="HY" TagName="left" Src="inc/left.ascx" %><HY:left id="left1" runat="server" hosID=""></HY:left>
这个hosID 怎么取,我想在cs中用:
left1.hosID = Request["hosID"].tostring(); 取
但编译不通过,提示:找不到类型或命名空间名称“left1”(是否缺少using 指令或程序集引用)
请问该如何做,谢谢!

解决方案 »

  1.   

    在自定义控件里定义一个属性:
    Public string HosID
    {
      get{
      if(Request.QueryString["hosID"]!=null && Request.QueryString["hosID"].ToString()!=string.Empty)
        return Request.QueryString["hosID"].ToString();
      return string.Empty;
    }
      set{value=m_HosID;}
    }
    private string m_HosID;然后在就可以用left1.hosID=进行赋值。
      

  2.   

    用name试试啊好久没碰web开发了,忘了都
      

  3.   

    设置自定义属性  然后在 调用自定义控件的代码页也要声明这个控件为left1 这样才可以调用!
      

  4.   

    Src="inc/left.ascx"
    这明明是用户控件吗!在用户控件的.cs代码里就可以取得Request.QueryString["hosID"]
    或者在用户控件里公开一个属性,然后赋值.
    Public string HosID 

      get{ return m_HosID;} 
      set{value=m_HosID;} 

    private string m_HosID; 然后在就可以用left1.hosID=进行赋值。如1楼