将字符串参数传递给母版页

时间:2010-01-26 21:56:27

标签: c# asp.net

我正在使用C#语言Asp.net版本3.5我有一个主页和他们使用master的页面。我认为有三种方法可以在控制器与页面之间传递参数的能力来实现我的应用程序
第一种方式: 我需要从页面传递一个字符串参数到掌握如何做到这一点? 当控制器请求页面然后页面将参数传递给它的主控时,我将在页面之间传递一个字符串参数。

第二种方式:首先将一些字符串参数从控制器类传递到母版页(不是页面,然后翻页到它的主页)。

第三种方式:传递给另一个必须是静态的类或字段然后掌握它的值。

  

我认为这是高性能和安全性的最佳或可能方式。

3 个答案:

答案 0 :(得分:4)

假设您有一个名为MyMaster的主人,使用公共方法“Foo”。您还有一个名为MyPage的页面。

在MyPage实例中,您可以使用Master属性检索对master的引用。如果您转换该引用,则可以在其上调用Foo方法。

((MyMaster)myPage.Master).Foo("some string")

基本上,只要您有权访问页面实例,就可以随时访问主人的公共成员。

答案 1 :(得分:1)

如果您需要的是MasterPage或应用程序中的任何其他页面可以访问某些字符串值,您可以尝试ASP.NET支持的许多客户端状态管理之一:

  • 查看状态
  • 控制状态
  • 隐藏的字段
  • 缓存
  • 查询字符串

请查看this page,了解有关如何使用其中每个选项的详细信息,并帮助您找到正确的选项:

答案 2 :(得分:1)

如果您尝试在服务器端执行此操作,则可以在母版页中公开属性。然后,“子”页面可以通过Page.Master属性访问该属性。

例如:

public partial class MyMaster : MasterPage
{
    public string MyString { get; set; }
}

public partial class MyPage : Page  
{
    protected void Page_Load(object sender, EventArgs e)
    {
        ((MyMaster)(this.Master)).MyString = "some value";
    }
}