1

私のマスターページにはメニューがあります。「ホーム」リンクをクリックすると、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>
4

1 に答える 1

0

ここでの問題は、のために別のクラスを作成する必要がなくHtmlGenericControl、名前空間も間違っていることです(そうあるべきですHtmlControls)。

以下のコードを試してください (コードを以下に置き換えてください)。

using System;    
using System.Web.UI.HtmlControls;


  public partial class _Default : System.Web.UI.Page
   {
       protected void Page_Load(object sender, EventArgs e)
       {
          var mycontrol = this.Page.Master.FindControl("yourcontrolname") as HtmlGenericControl;

          mycontrol.Attributes.Add("class", "cssToApply");

       }
   }

これがお役に立てば幸いです。

于 2012-12-25T15:28:03.487 に答える