在javascript中访问cs变量

我在cshtml页面的@ {}里面有一个var变量。 我想在javascript中访问此变量。 可能吗?? 我怎样才能做到这一点??

@{ var array=[""]; } 

您可以尝试以下方法:

 @{ var array = new [] {"foo", "bar"}; }  

它将C#数组序列化为JavaScript格式为[“foo”,“bar”]。

这是您可能想要考虑使用JSON的完美示例。 假设您正在使用ASP.NET Web页面(而不是Web Forms / MVC)进行开发,请在App_Code目录中使用以下代码创建一个名为Javascript.cshtml的帮助文件:

 @using System.Web.Script.Serialization; @helper ToJson(object obj) { var ser = new JavaScriptSerializer(); @Html.Raw(ser.Serialize(obj)) } 

现在,如果您的主页面可以像这样引用帮助程序: @Javascript.ToJson(myObj) 。 因此,在您的页面中,您可能会执行以下操作:

 @{ var myCSharpObj = new { First = "1st", Second = "2nd" }; }  

由于变量实际上并不存在于您的javascript运行的浏览器中,因此您必须使用某种类型的AJAX技术。

简单的旧ASMX Web服务可能是您最好的选择。

当然,如果您只想要它的初始值,您可以在页面组合期间将其设置为文字。

我没有确切的格式化经验。