我正在asp.net中创建一个网站(制作用户控件)并在sitefinity页面中使用它们。 我的导航栏按钮也是放置在模板中的用户控件。
请求在该页面的当前页面按钮上应该有不同的样式(颜色和bgcolor)。
我没有得到如何实现这个要求。请指导请求。
修改 我没有得到如何在所选页面上应用课程。如何知道用户控制哪个页面是当前页面。因为两者都是在sitefinity页面中使用的单独用户控件。
由于
答案 0 :(得分:2)
您是否对使用自定义控件进行导航有特定要求?如果您使用Sitefinity附带的导航控件(它位于小部件停靠栏中) - 它会自动将CSS类(“rtSelected”)添加到所选页面
答案 1 :(得分:1)
使用主题,您可以使用与.NET Framework捆绑在一起的预定义外观轻松自定义服务器控件,也可以根据网站的外观和风格制作自己的主题。试试这个链接
http://www.codeproject.com/Articles/11886/Themes-and-Skins-in-ASP-NET-2-0
编辑#1
试试此链接
How to make user controls know about css classes in ASP.NET
和
Apply CSS to single instance of Custom user Control in ASP:NET
答案 2 :(得分:0)
如果可以,您可以使用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" />
您还可以将特定控件的代码隐藏编写为&gt;&gt;
<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; }
}
答案 3 :(得分:0)
您可以根据自己的情况创建不同的主题并使用它们 主题将包含不同的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