1、後台方法:
protected string CsharpVoid(string strCC)
{
strCC = "http://" + strCC; return strCC;
}
2、前台頁面JavaScript方法: <script language="javascript" type="text/javascript"> var v = "www.baidu.com"; var s = '<%=CsharpVoid("'+v+'")%>'; document.write(s); </script> 你試試,我在Visual Studio.Net2005中測試成功!
結果在頁面上寫了【http://www.baidu.com】的字串!
仔細看看這句話:var s = '<%=CsharpVoid("'+v+'")%>'; 裡面的雙引號和單引號!
你出現此問題直接原因還是在寫碼的不規範上:你的var s = "<%=CsharpVoid("www.esoutong.com")%>"; 這句話裡外都用雙引沒有問題,可以被解釋成功,但為了代碼的整潔易讀還是需要養成良好的寫碼習慣,使代碼更易被讀懂,避免因不規範的寫碼習慣而產生的不必要的錯誤!
在JavaScript教程等書中寫:在JavaScript中可以使用單引,也可以使用雙引,但當在引號中還需要使用引號時可使用單引和雙引的交替使用,使代碼清晰易讀並避免不必要的錯誤發生。當CsharpVoid("")中必須使用雙引號時,你在定義var s時就必須使用單引號,如果還使用雙引號想把原來的www.baidu.com替換為變數就會報錯了(將var s = '<%=CsharpVoid("'+v+'")%>'; 這句的單引改雙引寫成var s = "<%=CsharpVoid(""+v+"")%>"; 是無法被解釋成功的),這個錯誤就是不規範寫碼造成的。所以規範寫碼可以避免此類錯誤的發生!
附:這裡要給你說明的是網友高_超的這句:var s = "<%=CsharpVoid('www.baidu.com')%>";是錯誤的,在Visual Studio.Net2005中是不會被編譯成功的。在【<%=】之後的【CsharpVoid】是背景方法,必須使用雙引號而不能使用單引號定義傳入的字串。
本文來自CSDN部落格,轉載請標明出處:http://blog.csdn.net/yytt123622/archive/2008/10/31/3194275.aspx