我目前正在 ASP.NET MVC 中构建一个网站。我正在尝试在 javascript 中访问 ViewData。
有什么方法可以让我在存储在 Controller 操作中的 ViewData 中的 View 中使用 javascript 访问字符串值。 (我无法找出正确的语法)。
我想做一些类似的事情..
var str = ViewData["Text"];
我尝试了以下方法:
var str = <%=ViewData["Text"] %>
但是没有成功。
有人可以帮忙吗?
谢谢。
最佳答案
像这样( Razor ):
var str = @Html.Raw(Json.Encode(ViewData["Text"]));
或(WebForms),使用JavaScriptSerializer (并将正确的命名空间导入到您的网络表单后 - System.Web.Script.Serialization
):
var str = <%= new JavaScriptSerializer().Serialize(ViewData["Text"])) %>;
并且请不要在 ASP.NET MVC 应用程序中使用 ViewData。使用 View 模型和强类型 View ,使您的代码如下所示:
var str = <%= new JavaScriptSerializer().Serialize(Model.Text) %>;
这种技术更酷,因为现在您可以 JSON 序列化整个 View 模型:
var model = <%= new JavaScriptSerializer().Serialize(Model) %>;
var str = model.Text;
关于javascript - 在 javascript 中使用 ViewData 的 ASP.NET MVC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5863094/