如何触发asp.net多视图?

时间:2012-07-31 05:37:13

标签: asp.net multiview

我仍然围绕着asp.net。

我遵循了一些使用多视图的在线示例,当我使用类似Menu类的东西作为选择活动视图的触发器时,它们工作正常。拥有onClick事件非常简单。

但我无法弄清楚如何从菜单控件中更改已设置的代码。

我有以下多视图控件...

<asp:View ID="0" runat="server">

   <p>view page 1</p>

</asp:View>

<asp:View ID="1" runat="server">

   <p>view page 2</p>

</asp:View>

我需要使用以下结构来触发视图。 (注意:这需要发送到浏览器。不一定是aspx页面中的文字代码)

<a class="button large-plain" href="" >
    <span>
        See page 1
    </span>
</a>
<a class="button large-plain" href="" >
    <span>
        See page 2
    </span>
</a>

为了澄清:我们有一个样式表,由一个与上述标记一起使用的外部设计器提供。如果我可以只使用触发器asp按钮控件或菜单​​控件,那将很容易。但是样式表不起作用,我被告知如果样式表不起作用,世界将会结束。

我可以自定义菜单控件,以便输出这种结构吗? (如果是这样,怎么样?)

我可以硬编码触发视图的链接(结构不会改变)。但是,如果我对它进行硬编码,如何调用onClick事件来点击链接?

1 个答案:

答案 0 :(得分:1)

我认为您可以尝试以下操作将标记更改为服务器端控件,然后将其用作触发器。将ID和runat =“server”添加到任何html元素意味着您可以像任何其他.NET样式控件一样以编程方式访问它们。此外,如果您使用的是.NET 4.0,还可以添加ClientIdMode =“Static”属性,以便ID与您键入的内容相同,而不是由ASP.NET修改。

要解决Click问题,您可以添加OnServerClick =“”属性,以指定在单击链接时在服务器上调用哪种方法。

<a class="button large-plain" href="" ID="ViewPage1" runat="server" OnServerClick="ViewPage1_Click">
    <span>
        See page 1
    </span>
</a>
<a class="button large-plain" href=""  ID="ViewPage2" runat="server" OnServerClick="ViewPage2_Click">
    <span>
        See page 2
    </span>
</a>