我喜歡將C#中的字符串傳遞給javascript變量。 簡單的方法是這樣的:如何將C#中的字符串傳遞給javascript變量
string aaa = "hello";
然後
<script>
var javacriptVariable = "<%=aaa%>";
</script>
但是,我問,如果有不使用<script>
塊,使該變量爲一個javascript等效的另一種方式,照片直接使用只有C#代碼。
謝謝。
我喜歡將C#中的字符串傳遞給javascript變量。 簡單的方法是這樣的:如何將C#中的字符串傳遞給javascript變量
string aaa = "hello";
然後
<script>
var javacriptVariable = "<%=aaa%>";
</script>
但是,我問,如果有不使用<script>
塊,使該變量爲一個javascript等效的另一種方式,照片直接使用只有C#代碼。
謝謝。
好,最好的方法是將包括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>
標籤反正結束了的更精細的方式。
寫的裂口到div的InnerHtml
在C#中,並獲得div的innerHTML
從您的JavaScript代碼。
注:
runat="server"
。InnerHtml
和js的innerHTML
之間的套管(大寫/小寫)差異在 之間。
您可以使用RegisterClientScriptBlock編寫設置變量的javascript。或者使用json來拉取變量。 –
如果不在腳本塊內部,您如何使用javascript var? – simonlchilds
'RegisterStartupScript' http://msdn.microsoft.com/en-us/library/bahh2fef.aspx –