使用子页面中的数据更新母版页上的链接

发布于 2024-07-10 08:37:56 字数 138 浏览 6 评论 0原文

我的主页中有一个报告链接菜单。 每当用户更改子页面上的值时,我都需要在每个页面的末尾附加一个 ID。 有什么好的方法可以实现这个目标呢?

更新:我应该提到子更新发生在 UpdatePanel 内,这意味着发生更改时不会重新加载母版页。

I have a menu of report links in my master page. I need to append an ID to the end of each whenever the user changes a value on the child page. What's a good way to accomplish this?

UPDATE: I should have mentioned that the child update is happening inside an UpdatePanel, meaning the master page is not reloaded when the change happens.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

蓝色星空 2024-07-17 08:37:57

MasterPage 实际上是它所控制的页面的子控件。 您可以像控制页面上的任何其他控件一样控制 MasterPage(几乎)。 您所需要做的就是获取它的参考。

您将一个属性添加到 MasterPage 的代码中,因此其代码可能如下所示:

public partial class _default : System.Web.UI.MasterPage
{
    protected string m_myString = string.Empty;
    public string myString
    {
        get { return m_myString; }
        set { m_myString = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

然后您必须将 this.Master 属性强制转换为 MasterPage

public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Cast here to get access to your MasterPage
        _default x = (_default)this.Master;
        x.myString = "foo";
    }
}

A MasterPage is really a child control of the page which it controls. You can control a MasterPage like any other control on your page (almost). All you need to do is get a reference to it.

You add a property to the code of your MasterPage, so its code may look something like this:

public partial class _default : System.Web.UI.MasterPage
{
    protected string m_myString = string.Empty;
    public string myString
    {
        get { return m_myString; }
        set { m_myString = value; }
    }
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

Then you have to cast the this.Master property to your MasterPage

public partial class index : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        // Cast here to get access to your MasterPage
        _default x = (_default)this.Master;
        x.myString = "foo";
    }
}
や莫失莫忘 2024-07-17 08:37:57

响应您的更新:

更新后的面板可以将 ID 写入隐藏字段,菜单事件可以在 Request.Form["fieldName"] 中查找该隐藏字段。

请注意,您不应该使用 fieldName.Text,因为 ASP.NET 无法为已 AJAX 处理的字段返回正确的值。

In response to your UPDATE:

The updated panel could write the ID to a hidden field and the menu events could look for that hidden fields in Request.Form["fieldName"].

Note that you shouldn't fieldName.Text because ASP.NET does a bad job of returning the right value for fields that have been AJAXed.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文