2

実行時にsite.masterページに存在するcssクラス属性を変更しようとしていますが、これまで疲れていた方法を実際に取得することはできません。

mainContainer.Attributes.Add("style", "background-image('myImage.png')");

mainContainer.Attributes.Add("class", "className");

しかし、これらのどれでもないので、実行時にマスターファイルのcssを変更させてください。私はc#を使用してasp.netを使用しています

これはマスターページのコードです

 <div class="main">

            <asp:ContentPlaceHolder ID="MainContent" runat="server"/>


        </div>
4

3 に答える 3

1

ContentPlaceHolderは、出力htmlコードに存在しない要素です。リージョンを定義するだけです。クラス「main」でdivを変更してみることができます。runat = "server"とid属性を追加し、コードからアクセスするだけです。

<div id="MainDiv" class="main" runat="server">

その後

MainDiv.Attributes.Add...
于 2012-10-26T10:50:38.587 に答える
1

以下のように、マスターページを他の子ページに部分的にロードする必要があります...

<%@ MasterType VirtualPath="~/Site1.Master" %>

次に、子ページのページロードで..put

protected void Page_Load(object sender, EventArgs e)
    {
        HyperLink contact_menu = (HyperLink)Master.FindControl("contactmenu");
        contact_menu.CssClass = "current";
    }

必要に応じて変更してください。お楽しみください。

于 2012-10-26T10:50:06.707 に答える
0

最初にマスターページでコントロールを見つける必要があります

Image img = Page.Master.FindControl( "layoutStyleSheet" ) as Image;

次に、それにスタイルを追加します

img.Attributes.Add("class", "className");
于 2012-10-26T10:51:26.840 に答える