我仍然围绕着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事件来点击链接?
答案 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>