我在 asp.net 中做一个网站(制作用户控件)并在 sitefinity 页面中使用它们。我的导航栏按钮也是放置在模板中的用户控件。
要求在当前页面按钮上,该页面的按钮应该有不同的样式(颜色和 bgcolor)。
我不知道如何实现这个要求。请指导请求。
编辑: 我没有得到如何在所选页面上应用课程。如何在用户控件中知道哪个页面是当前页面。因为两者都是在 sitefinity 页面中使用的单独的用户控件。
谢谢
我在 asp.net 中做一个网站(制作用户控件)并在 sitefinity 页面中使用它们。我的导航栏按钮也是放置在模板中的用户控件。
要求在当前页面按钮上,该页面的按钮应该有不同的样式(颜色和 bgcolor)。
我不知道如何实现这个要求。请指导请求。
编辑: 我没有得到如何在所选页面上应用课程。如何在用户控件中知道哪个页面是当前页面。因为两者都是在 sitefinity 页面中使用的单独的用户控件。
谢谢
您是否对使用自定义控件进行导航有特定要求?如果您使用 Sitefinity 附带的导航控件(它位于小部件 Dock 中) - 它会自动将 CSS 类(“rtSelected”)添加到所选页面
使用主题,您可以使用与 .NET Framework 捆绑在一起的预定义外观轻松自定义服务器控件,或者可以根据您网站的外观制作自己的主题。试试这个链接
http://www.codeproject.com/Articles/11886/Themes-and-Skins-in-ASP-NET-2-0
编辑#1
试试这个链接
和
如果可以,您可以使用telerik controls
.
您可以根据需要为其编写 css 代码,然后按如下方式提供指向该 css 的链接>>
<MyUserControls:MyMenuButton ID="SalesDocumentsMyMenuButton"
RootMenuItemText="Sales Documents"
RootMenuImage="~/images/common/sales_document.gif"
UseSeperator="true"
CssClass="css/myButtonMenu.css"
runat="server" />
您还可以为特定控件的代码隐藏编写 css >>
<div class='<%= CssClass %>' >
<div id="contentPlaceholder" runat="server" class="contentPlaceholderStyle">
</div>
</div>
[CssClassProperty]
public string CssClass
{
get { return (string)(ViewState["CssClass"] ?? ""); }
set { ViewState["CssClass"] = value; }
}
您可以创建不同的主题并根据您的情况使用它。
主题将包含不同的 css 文件。
创建具有相同名称但具有不同颜色或背景颜色的 css 类并
根据您的条件使用该主题
例子
protected void BasePage_PreInit(object sender, EventArgs e)
{
this.Page.Theme = themeName;
}
这是一个教程
http://www.aspdotnet-suresh.com/2011/10/how-to-change-page-theme-dynamically-in.html
http://www.codeproject.com/Articles/18300/How -to-change-page-theme-in-asp-net-2-0-dynamicall
http://aspalliance.com/959_Themes_and_Master_Pages_in_ASPNET_20__A_Perfect_Combination.4