高手们!有两个问题一直迷惑,还请各位指点!1、母板页MasterPage.master中有一个用户控件info.ascx,在引用母扳的页面page1.aspx中,如何给用户控件info.ascx传值或获得一些公用属性?2、有一个基类BasePage.cs,我想在每个页面中继承这个基类,请问是在母板MasterPage.master中继承还是要在每个引用母板的页面里继承?还是两个都要?相关代码:MasterPage.master<%@ Register Src="INCLUDE/INFO.ascx" TagName="INFO" TagPrefix="uc3" %>
<table width="100%" height="100%" border="0" cellpadding="1" cellspacing="1">
      <tr>
        <td style="height: 49px" align="right">
            <uc3:INFO ID="INFO1" runat="server" />
        </td>
      </tr>
      <tr>
        <td>
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
 </td>
      </tr>
    </table>info.ascx :public partial class INCLUDE_INFO : System.Web.UI.UserControl
{
    private string _NAV_TITLE;    public string NAV_TITLE
    {
        set
        {
            _NAV_TITLE = value;
        }
        get
        {
            return this.lbl_nav.Text;
        }
    }
    //
    protected void Page_Load(object sender, EventArgs e)
    {
        this.lbl_nav.Text = _NAV_TITLE;
     }
}page1.aspx :该怎么和用户控件传值?
谢谢!

解决方案 »

  1.   

    在page1.aspx里通过Page.Master.FindControl("INFO1");可访问此控件
      

  2.   

    那么在page1.aspx.cs(服务器端)怎么访问info1???
      

  3.   

    在page1.aspx也要添加
    <%@ Register Src="INCLUDE_INFO.ascx" TagName="INCLUDE_INFO" TagPrefix="uc3" %>然后才可以使用这个控件类型,代码就可以这样写:
    protected void Button1_Click(object sender, EventArgs e)
        {
            ASP.include_info_ascx tmp = (ASP.include_info_ascx)Page.Master.FindControl("INFO1");
            tmp.NAV_TITLE = "abc";
        }
      

  4.   

    <uc3:INFO ID="INFO1" _NAV_TITLE=** runat="server" />
      

  5.   

    2、有一个基类BasePage.cs,我想在每个页面中继承这个基类,请问是在母板MasterPage.master中继承还是要在每个引用母板的页面里继承?还是两个都要?
    =========这要看你这个BasePage本身是从什么派生的,
    如果public class BasePage:System.Web.UI.MasterPage,那么则由母板页继承之;
    如果public class BasePage:System.Web.UI.Page,那么则由页面继承之;
      

  6.   

    谢谢 Eddie005(♂) №.零零伍 (♂) ;再小问一下:那如果page1.aspx继承了basepage.cs,那在basepage.cs 里怎样给用户控件info.ascx传值或获得一些公用属性?
    这样的目的我就不用在每个页面里去写这些代码了,一次性写在basepage.cs里,可行吗?