44

マスター ページを使用していますが、ページ内で div を見つけてそこに html を挿入することはできますか? ありがとう。

4

5 に答える 5

84

runat="server" を使用して div をページに追加できます。

<div runat="server" id="myDiv">
</div>

コード ビハインドから InnerHtml プロパティを設定します。

myDiv.InnerHtml = "your html here";

クライアント側で DIV の内容を変更する場合は、次のような JavaScript コードを使用できます。

<script type="text/javascript">
    Sys.Application.add_load(MyLoad);
    function MyLoad(sender) {
        $get('<%= div.ClientID %>').innerHTML += " - text added on client";
    }
</script>
于 2009-01-21T21:18:49.897 に答える
15

そのために使用asp:Panelします。それはdivに変換されます。

于 2009-01-21T21:11:53.590 に答える
5

使用を覚えておいてください

myDiv.InnerHtml = "something";

myDIV のすべての HTML 要素を置き換えます。それを避けるためにテキストを追加する必要があります。

myDiv.InnerHtml = "something" + myDiv.InnerText;

myDiv 内の任意の html コントロール (まだレンダリングされていないため) ASP HTML コントロールではありません。

于 2013-04-10T07:12:37.697 に答える
3

次の方法で、マスター ページ内のコントロールを参照できます。

void Page_Load()
{
    ContentPlaceHolder cph;
    Literal lit;

    cph = (ContentPlaceHolder)Master.FindControl("ContentPlaceHolder1");

    if (cph != null) {
        lit = (Literal) cph.FindControl("Literal1");
        if (lit != null) {
            lit.Text = "Some <b>HTML</b>";
        }
    }

}

この例では、ContentPlaceholder に Literal コントロールを配置する必要があります。

于 2009-01-21T21:21:30.763 に答える
1

そのマスター ページを使用しているページのコンテンツに HTML を挿入するマスター ページ コード ビハインドにコードを挿入しますか?

これは脆弱なソリューションであり、コントロールの名前が変更された場合に簡単に壊れる可能性があるため、FindControl を介してコントロールを検索しません。

最善の策は、どの子ページでも処理できるマスター ページでイベントを宣言することです。イベントは、HTML を EventArg として渡すことができます。

于 2009-01-21T21:41:22.703 に答える