Asp.net

如何使用 javascript 訪問 runat=‘server’ ASP 元素?

  • September 27, 2020

似乎每個人都在這樣做(在程式碼文章等中)……但我不知道如何。:(

每當我嘗試使用 JavaScript 操作一個 asp 元素時,我都會收到一個"element is null"或其他"document is undefined"錯誤…..

JavaScript 通常可以正常工作,…但只有當我添加runat="server"屬性時,該元素才會對我的 JavaScript 看起來不可見。

任何建議,將不勝感激。

謝謝,安德魯

可能發生的情況是您的元素/控制項位於一個或多個 ASP.NET 控制項中,這些控制項充當命名容器(母版頁、ITemplate、嚮導等),這導致其 ID 發生更改。

您可以在瀏覽器中使用“查看原始碼”來確認呈現的 HTML 中發生的情況。

如果您的 JavaScript 在 ASPX 頁面中,臨時解決此問題的最簡單方法是使用元素的 ClientID 屬性。例如,如果您想通過 JS 引用一個名為 TextBox1 的控制項:

var textbox = document.getElementById('<%= TextBox1.ClientID %>');

引用自:https://stackoverflow.com/questions/675060