0

の関数を定義したマスターページがあり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 をクリアしないでください。

4

1 に答える 1