![]() ![]() ![]() ![]() |
|||||
|
|||||
樓主 芋頭 ![]()
![]() |
我的程式包在masterpage裡面的 test.aspx 我想要把在 test.aspx 寫的js code 抽出來 放在獨立的js檔(<script type="text/javascript" src="1.js"></script> )-->我就算放在所有程式最下方也是一樣的錯誤 1.在尚未抽離出來前 程式執行正常 2.抽離出來後 會出現var AA = document.getElementById("<%=AA.ClientID%>"); -->找不到物件之類的錯誤 -->請問這個要如何避免阿?? 謝謝大大指導~~~ 在test.aspx裡長的像這樣 <asp:Content ID="Content1" ContentPlaceHolderID="head" runat="Server"> <script type="text/javascript" src="jquery-latest.min.js"></script> <script type="text/javascript" language="javascript"> 我寫的 js code 原本放在這邊................ var AA = document.getElementById("<%=AA.ClientID%>"); .......... </script> </asp:Content> <asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server"> <asp:ScriptManager ID="ScriptManager2" runat="server" > </asp:ScriptManager> 一堆 control 跟主要畫面放置處.................. </asp:Content>
本篇文章發表於2014-10-03 09:42
|
1樓 |
理所當然的吧
ASP.NET是在主機端執行的,當你的JS未抽出前,<%=AA.ClientID%>這段會在主機被執行,替換成正確的值 但是當你將JS抽出後,JS是在客戶端去另外要求的檔案,這時<%=AA.ClientID%>就無法轉換成正確的值 要修改的話有兩種思路 我個人比較贊同的做法是將JS改寫,對於var AA = document.getElementById("<%=AA.ClientID%>"); 這種不固定的內容改成輸入的參數,然後將AA寫在頁面中 另一種比較偷懶的做法,把抽出的JS寫成ASP.NET
本篇文章回覆於2014-10-03 09:59
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔-- |
回覆 |
如要回應,請先登入. |