私は次の設定をしています:
- マスターページ
- 子ページ
- 外部 Javascript ファイル
子ページでは、「hiddenFoo」という非表示のコントロールを使用できる場合があります。js ファイルには、「hFoo」という変数があり、これにはClientID
of hiddenFoo
.
これで、各子ページに追加できることがわかりhFoo = "<%=hiddenFoo.ClientID %>";
ましたが、マスターページ内でそれを行うことができるかどうか疑問に思っています (hiddenFoo
すべてのページにあるわけではないことに注意してください)。
** 回答付きで編集 **
1. マスター ページの JavaScript で、コンテンツ内に「hiddenFoo」が存在するかどうかを確認しました。
2. これが空白でない場合は、コード ビハインドを呼び出して ClientID を返しました。
<script type="text/javascript">
if ('<%=MainContent.FindControl("hiddenFoo") %>' != '') {
hiddenFooID = "<%=GetHiddenFooClientID %>";
}
</script>
protected string GetHiddenFooClientID
{
get {
Control hiddenFoo = MainContent.FindControl("hiddenFoo");
if (hiddenFoo != null) {
return hiddenFoo.ClientID;
}
return " ";
}
}