0

我在 asp.net 中做一个网站(制作用户控件)并在 sitefinity 页面中使用它们。我的导航栏按钮也是放置在模板中的用户控件。

要求在当前页面按钮上,该页面的按钮应该有不同的样式(颜色和 bgcolor)。

我不知道如何实现这个要求。请指导请求。

编辑: 我没有得到如何在所选页面上应用课程。如何在用户控件中知道哪个页面是当前页面。因为两者都是在 sitefinity 页面中使用的单独的用户控件。

谢谢

4

4 回答 4

2

您是否对使用自定义控件进行导航有特定要求?如果您使用 Sitefinity 附带的导航控件(它位于小部件 Dock 中) - 它会自动将 CSS 类(“rtSelected”)添加到所选页面

于 2013-04-02T14:35:26.127 回答
1

使用主题,您可以使用与 .NET Framework 捆绑在一起的预定义外观轻松自定义服务器控件,或者可以根据您网站的外观制作自己的主题。试试这个链接

http://www.codeproject.com/Articles/11886/Themes-and-Skins-in-ASP-NET-2-0

编辑#1

试试这个链接

如何让用户控件了解 ASP.NET 中的 css 类

将 CSS 应用于 ASP:NET 中的自定义用户控件的单个实例

于 2013-03-26T06:04:14.897 回答
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" /> 

您还可以为特定控件的代码隐藏编写 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; }
}
于 2013-03-26T06:05:19.003 回答
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

于 2013-03-26T06:10:35.573 回答