我正在为Umbraco构建自定义.NET Web用户控件,它看起来像单页,在页面左侧有一个侧边栏(其中包含内容项的ID),以及两个不同的内容视图(其中包含内容) id显示在这里。)
问题是,我不知道这是否可以做一些像masterpage / childs原则(就这个网页用户控件而言),所以我会在这个侧边栏上找到类似“母版页”的东西,将根据从侧边栏中选择的ID,在其右侧呈现两个子视图中的一个?
或许这里应该有一些解决方法? 在这里的任何帮助(如有关如何做到的信息,我将寻求什么信息等)将非常感激,因为我是这种东西的全新。
答案 0 :(得分:1)
据我所知,您可能要做的是在Web用户控件中设置“主控制”,然后根据您从主控件中选择的值动态创建两个自定义控件之一。这也称为Master-Detail解决方案(提供链接)。
Tutorial 10: Master/Detail Using a Selectable Master GridView with a Details DetailView
如果这些控件中的每一个都是嵌套在另一个用户控件中的用户控件,则可以有三个Web用户控件:Master,Child1和Child2。
使用代码隐藏,您可以根据您从主控件中选择的那些使用事件到“容器页面”轻松创建动态控件。使用这些事件,您可以动态创建用户控件/传递变量,依此类推。
以下是一些有关活动的文章,如果您有兴趣:
Events in ASP.NET Server Controls
如果您不想动态创建控件,那么根据Master控件中的变量按需绑定它们并不困难,如果它们没有被使用/绑定则隐藏它们。
您还可以使用自己定义的控件的公共属性。所以说你有你的Child1用户控件,你可以在后面的代码中定义一个公共属性。您也可以在设计时访问它。
public int SpecialID { get; set; }