[英]How to pass a string from C# to a javascript variable
我喜歡將字符串從C#傳遞到javascript變量。 簡單的方法是這樣的:
string aaa = "hello";
接着
<script>
var javacriptVariable = "<%=aaa%>";
</script>
但是,我在問是否還有另一種方法,不使用<script>
塊使該變量成為僅使用C#代碼的javascript等效變量。
謝謝。
用C#將其寫入div的InnerHtml
,然后從JavaScript代碼獲取div的innerHTML
。
筆記:
runat="server"
。 InnerHtml
和js的innerHTML
大小寫不同(大寫/小寫)。 好吧,最好的方法是包含JSON.NET
並將其輸出:
var aaa = <%= JsonConvert.Serialize(aaa) %>;
然后,無論它是字符串,整數,數組還是以JS處理方式進行序列化的任何東西。 如有必要,這還將處理任何形式的轉義(例如aaa = "Hello \\"World\\"!"
)
另一個選擇是使用處理程序/ AJAX來檢索它(但是對於這樣一個簡單的任務而言,這會產生過多的開銷)。
最后,您可以注冊腳本:
Type type = this.GetType();
string scriptName = "assign aaa";
ClientScriptManager clientScript = Page.ClientScript;
if (!clientScript.IsClientScriptBlockRegistered(type, scripName))
{
StringBuilder sb = new StringBuilder();
sb.Append("<script type=\"text/javascript\">")
.AppendFormat("var aaa = {0};", JsonConvert.Serialize(aaa))
.Append("</" + "script>");
clientScript.RegisterClientScriptBlock(type, scripName, sb.ToString());
}
但是,上述只是結束<script>
標記的一種更為精致的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.