私のマスターページにはメニューがあります。「ホーム」リンクをクリックすると、home.aspx ページに移動します。そのページにいる間、ホームボタンを別のcssに配置したい。複数の投稿に出くわしましたが、Jeremy のこの投稿が私の目を引き、十分にシンプルに見えました。
https://stackoverflow.com/a/10871099/1851048 .
私は自分のウェブサイトに同じものを実装しようとしましたが、うまくいきません。「'System.Web.UI.HtmlControls.HtmlGenericControl' は名前空間ではなく型です
」
using System.Web.UI.HtmlControls.HtmlGenericControl;
using System.Web.UI.WebControls;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
public class HtmlGenericControl : HtmlContainerControl
{
protected void Page_Load(object sender, EventArgs e)
{
HtmlGenericControls mycontrol = (HtmlGenericControl)this.Page.Master.FindControl("yourcontrolname") as HtmlGenericControl;
mycontrol.Attributes.Add("class", "cssToApply");
}
}
ここでいくつかの調査を行いました: http://msdn.microsoft.com/en-us/library/system.web.ui.htmlcontrols.htmlgenericcontrol.aspx
しかし、毎回異なるエラーが発生しました。それらをすべて取り除くことができましたが、コードは機能しませんでした。
これは私の最初のウェブサイトなので、現在、学ぶことがたくさんあります。あなたの助けに感謝。
編集:
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
var mycontrol = this.Page.Master.FindControl("HyperLink1") as HtmlGenericControl;
mycontrol.Attributes.Add("class", "cssToApply");
}
}
CSS:
#menu ul
{
padding-bottom: 10px;
padding-top: 10px;
list-style: none;
display: inline-block;
}
#menu li
{
margin: auto;
display:inline;
}
#menu a
{
font-family: Verdana;
color: white;
margin: 6px;
float: left;
width: 150px;
height: 27px;
padding: 0 0 0 0;
border-radius: 6px;
text-align: center;
text-decoration: none;
font-size: 1.5em;
}
#menu a:hover
{
background-color: white;
color: #bee2f1;
}
.cssToApply
{
background-color: white;
color: #bee2f1;
}
MasterPage.master:
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl="home.aspx">Home</asp:HyperLink></li>