请教一个关于母板、用户控件之间的传值问题。

coolbel2000 2006-10-25 08:59:23
高手们!

有两个问题一直迷惑,还请各位指点!

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 :

该怎么和用户控件传值?


谢谢!
...全文
153 8 打赏 收藏 举报
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Eddie005 2006-10-25
  • 打赏
  • 举报
回复
不好
coolbel2000 2006-10-25
  • 打赏
  • 举报
回复
谢谢 Eddie005(♂) №.零零伍 (♂) ;

再小问一下:

那如果page1.aspx继承了basepage.cs,那在basepage.cs 里怎样给用户控件info.ascx传值或获得一些公用属性?
这样的目的我就不用在每个页面里去写这些代码了,一次性写在basepage.cs里,可行吗?
Eddie005 2006-10-25
  • 打赏
  • 举报
回复
2、有一个基类BasePage.cs,我想在每个页面中继承这个基类,请问是在母板MasterPage.master中继承还是要在每个引用母板的页面里继承?还是两个都要?
=========这要看你这个BasePage本身是从什么派生的,
如果public class BasePage:System.Web.UI.MasterPage,那么则由母板页继承之;
如果public class BasePage:System.Web.UI.Page,那么则由页面继承之;
kui1015 2006-10-25
  • 打赏
  • 举报
回复
<uc3:INFO ID="INFO1" _NAV_TITLE=** runat="server" />
Eddie005 2006-10-25
  • 打赏
  • 举报
回复
在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";
}
amstar 2006-10-25
  • 打赏
  • 举报
回复
那么在page1.aspx.cs(服务器端)怎么访问info1???
Eddie005 2006-10-25
  • 打赏
  • 举报
回复
在page1.aspx里通过Page.Master.FindControl("INFO1");可访问此控件
ustbwuyi 2006-10-25
  • 打赏
  • 举报
回复
up
相关推荐
发帖
.NET社区

6.1w+

社区成员

.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
帖子事件
创建了帖子
2006-10-25 08:59
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。