我应该在哪里根据母版页中选定的值填充控件

发布于 2024-10-14 12:36:55 字数 287 浏览 0 评论 0原文

我有以下情况:

  • 母版页包含一个树控件
  • 页面使用以前的母版页
  • 控件根据树中选定的节点(位于母版页中)填充其

项目 问题是: 我应该在哪里根据母版页中的选定值填充控件?

问题是母版页的 Load 事件在页面的 Load 事件之后触发,因此我无法处理母版页中选定的节点页面的Load事件。

我还尝试使用页面的 PreRender 事件,但控件未填充 true。

任何帮助!

I have the following situation:

  • Master page contains a tree control
  • Page use the previous master page
  • Control populates its items based on the selected node in the tree (which is in the master page)

The question is:
Where should I populate a control based on a selected value from master page?

The problem is that the Load event of the master page is fired after the Load event of the page, so I couldn't handle the selected node from the master page in the Load event of the page.

I tried also to use the PreRender event of the page, but the control is not populated true.

Any help!

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

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

发布评论

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

评论(2

荆棘i 2024-10-21 12:36:56

将 NavigateUrl 设置为应加载的页面,并将所选节点值作为查询字符串传递。

在下面的示例中,我订阅了 TreeView 上的 OnTreeNodeDataBound 事件。
在事件处理程序中,我通过添加查询字符串(在本例中为选定的节点值)来自定义 NavigateUrl。

例如:

母版页中的 TreeView 标记:

<asp:TreeView ID='TreeView1' runat='server' DataSourceID='SiteMapDataSource1' OnTreeNodeDataBound='HandleOnTreeViewTreeNodeDataBound'>        
</asp:TreeView>

代码隐藏:

public void HandleOnTreeViewTreeNodeDataBound(Object sender, TreeNodeEventArgs e)
{
        String newUrl = String.Format("{0}?nodeValue={1}", e.Node.NavigateUrl, e.Node.Value);
        e.Node.NavigateUrl = newUrl;
}

Set the NavigateUrl to the page which should be loaded and pass the selected node value as query strings.

In the example below, I'd subscribed to OnTreeNodeDataBound event on the TreeView.
In the event handler, I'd customized the NavigateUrl by adding query string (in this case selected node value).

ex:

TreeView Markup in Master page:

<asp:TreeView ID='TreeView1' runat='server' DataSourceID='SiteMapDataSource1' OnTreeNodeDataBound='HandleOnTreeViewTreeNodeDataBound'>        
</asp:TreeView>

code-behind:

public void HandleOnTreeViewTreeNodeDataBound(Object sender, TreeNodeEventArgs e)
{
        String newUrl = String.Format("{0}?nodeValue={1}", e.Node.NavigateUrl, e.Node.Value);
        e.Node.NavigateUrl = newUrl;
}
戏剧牡丹亭 2024-10-21 12:36:55

根据您的问题,我猜测您正在母版页的加载事件中构建/绑定列表,然后在子页面加载事件中读取选定的索引/值。

相反,尝试在母版页初始化事件中构建/绑定,然后在页面加载事件中读取它应该没有问题。

Based on your question I'm guessing you are building/binding the list in the masterpage's load event and then reading the selected index/value in the child pages load event.

Instead try building/binding in the masterpage init event, then reading it in the pages load event should be no problem.

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