0

我还在琢磨asp.net。

我遵循了一些使用多视图的在线示例,当我使用菜单类之类的东西作为选择活动视图的触发器时,它们工作得很好。有了 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 事件来单击链接?

4

1 回答 1

1

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

要解决单击问题,您可以添加 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>
于 2012-07-31T13:07:36.507 回答