0
A
回答
1
比方说,你想从b.aspx从a.master调用foo。所以首先是你已经使方法内部(或公共),然后你可以使用代码如下面的母版页是调用该方法。
var page = (b)this.Page;
page.Foo();
请注意,b将是b.aspx中类名后面的代码。请注意,如果您使用另一个页面c.aspx并使用相同的主控件a,上述代码将失败。一般来说,我会说,从主站调用页面特定的函数是没有意义的,除非函数存在于某些基本页面类中,并且在这种情况下,您应该转换为该基本页面类。
编辑:由阿西要求更复杂的例子:
考虑您的内容页面b.aspx如
<%@ Page Language="C#" MasterPageFile="a.Master" Title="Page B" AutoEventWireup="true"
CodeBehind="b.aspx.cs" Inherits="YourProject.b" %>
而在隐藏文件的代码(b.aspx.cs),你有a.master页的一个方法foo如
namespace YourProject
{
public partial class b : System.Web.UI.Page
{
void Foo(string someParameter)
{
Label1.Text = someParameter
}
...
}
}
现在,在后面的代码(a.master.cs)
namespace YourProject
{
public partial class a : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
b contentPage = (b)this.Page;
contentPage.Foo("Hello");
}
....
}
}
1
当然你可以在b.aspx方法是公共的调用它在a.master。不过,我建议你仔细考虑你的设计。因为它真的很奇怪,就像你从它的父类中调用一个子类的方法(尽管它在理论上是可能的)。您在修改之前,问自己:
Is it necessary to call this method in the master page? If yes, do I have a better place to put the method?
1
正如其他人所说,可以这样做。然而,这是一种奇怪的做事方式。你可能会做得更好,以不同的方式做你想做的事情。母版页面的整个构思是“包装”多种内容页面。如果你的内容页面没有你想要调用的功能呢?
你可以确保你的所有内容页面都有这个功能,但为什么不把它放在主页面呢?
也许如果你对你想要做的更好一点表示赞同,我们可以建议你以更好的方式处理事情。
0
要访问,或者:
- 作出这样的方法
static
方法。 - 将您的代码移动到App_Code文件夹中。
- 将您的代码移出您的Web项目,移入某个通用程序集并将其用作参考。
相关问题
- 1. 访问变量从页面后面的代码到aspx页面
- 2. 从aspx页面访问PageMethod
- 3. 访问.aspx页面Ajax TabContainer从.aspx .ascx
- 4. master页面和aspx页面中的sql服务器会话
- 5. 如何在.aspx页面中调用.aspx页面中的书面函数
- 6. 问题在aspx页面
- 7. 如何从aspx页面访问userControl中的web控件页面
- 8. 如何从.aspx页面访问.aspx.cs页面的值?
- 9. 从主页面访问儿童页面的标题aspx
- 10. HTM页面Aspx页面
- 11. 从usercontrol访问aspx页面的方法
- 12. 访问aspx页面中的控件
- 13. 如何通过.aspx访问.cshtml页面
- 14. 匿名访问aspx页面失败
- 15. 访问页面的方法访问页面与页面方法
- 16. Windows.Forms.MessageBox在页面.aspx
- 17. ASP.NET MVC Master页面
- 18. ASPX页面
- 19. aspx页面
- 20. 如何访问我的孩子页面.aspx页面中我的母版页值
- 21. 找到一个aspx页面
- 22. 页面状态问题当两个链接在aspx页面
- 23. 从aspx.cs页面获取数据到aspx页面
- 24. 从aspx页面访问静态类属性页
- 25. 静态页面(.html)与ASP.NET页面(.aspx)
- 26. 重定向aspx页面为XAML页面
- 27. 在aspx代码后面的动态页面调用函数
- 28. 访问页面的页面,工人
- 29. 从其他页面访问页面类
- 30. 将包含在HTML页面中的SVG加载到.aspx页面
我不认为你真的可以打电话,它更好地把这个功能移动到一个类,并从女巫页你的类呼叫。 – Aristos 2010-09-06 06:14:38