0

我正在为 Umbraco 构建自定义 .NET Web 用户控件,它看起来像单页,在页面左侧有一个侧边栏(包含内容项的 ID),以及两个不同的内容视图(其中显示的 id 内容here ) 在它的右边。

问题是,我不知道这是否可以做类似 masterpage/childs 原则的事情(就这个 web 用户控件而言),所以我将在这个侧边栏上有类似“Master page”的东西,并将呈现一个它右侧的两个子视图,取决于从侧边栏中选择的 id?

或者也许应该在这里使用一些解决方法?将非常感谢这里的任何帮助(例如有关如何完成的信息,我应该寻求哪些信息等),因为我对这种东西完全陌生。

4

1 回答 1

1

据我所知,您可以做的是在您的 Web 用户控件中设置“主控件”,然后根据您从主控件中选择的值动态创建两个自定义控件之一。这也称为 Master-Detail 解决方案(提供了链接)。

教程 10:使用带有详细信息 DetailView 的可选主 GridView 的主/详细信息

如果这些控件中的每一个都是嵌套在另一个用户控件中的用户控件,例如,您可以拥有三个 Web 用户控件:Master、Child1 和 Child2。

使用代码隐藏,您可以轻松地根据您从主控件中选择的控件创建动态控件,使用事件到“容器页面”。使用这些事件,您可以动态地创建您的用户控件/向它们传递变量,等等。

以下是一些有关事件的文章,如果您有兴趣:

用户控件中的事件

ASP.NET 服务器控件中的事件

如果您不想动态创建控件,则根据主控件中的变量按需绑定它们并在未使用/绑定时隐藏它们并不困难。

您还可以使用您自己定义的控件的公共属性。所以说你有你的 Child1 用户控件,你可以在后面的代码中定义一个公共属性。您也可以在设计时访问它。

public int SpecialID { get; set; }
于 2013-11-15T13:50:57.950 回答