あなたはマスターページを使用していますが、ページ内のdivを見つけてそこにhtmlを投げることはできますか?ありがとう。
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>
つかいます asp:Panel
そのため。 divに変換されます。
使用することを忘れないでください
myDiv.InnerHtml = "something";
myDIVのすべてのHTML要素を置き換えます。それを避けるためにテキストを追加する必要があります。
myDiv.InnerHtml = "something" + myDiv.InnerText;
myDiv内の任意のhtmlコントロール。ただしASP htmlコントロール(まだレンダリングされていないため)。
この方法でマスターページ内のコントロールを参照できます。
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にリテラルコントロールを配置する必要があります。
そのマスターページを使用しているページのコンテンツにHTMLを挿入するコードをマスターページコードの背後に配置しますか?
FindControlを使用してコントロールを検索することはありません。これは、コントロールの名前が変更された場合に簡単に破損する可能性がある壊れやすいソリューションだからです。
最善の策は、子ページが処理できるイベントをマスターページで宣言することです。イベントはHTMLをEventArgとして渡すことができます。