の関数を定義したマスターページがありgetElementById
ます。
function Clear() {
document.getElementById('<%= NameTextBox.ClientID %>').value = "";
document.getElementById('<%= LastNameTextBox.ClientID %>').value = "";
}
この関数を他のページで使用すると、要素の値がクリアされます。
しかし、マスターページでこのコードを使用すると、エラーが発生します:
コントロールにコード ブロック (つまり <% ... %>) が含まれているため、Controls コレクションを変更できません。
[HttpException (0x80004005): The Controls collection cannot be modified because the control contains code blocks (i.e. <% ... %>).]
System.Web.UI.ControlCollection.Add(Control child) +9601391
AjaxControlToolkit.ScriptObjectBuilder.RegisterCssReferences(Control control) +691
AjaxControlToolkit.ScriptControlBase.OnLoad(EventArgs e) +44
System.Web.UI.Control.LoadRecursive() +54
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Control.LoadRecursive() +145
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +772
コードを次のように変更した場合:
document.getElementById('<%# NameTextBox.ClientID %>').value = "";
私はエラーを取得しません。ただし、myelement をクリアしないでください。