开发者

ASP.NET MVC using ViewData in javascript

I am currently building a website in ASP.NET MVC. I am trying to access ViewData in javascript.

Is there any way that I can access a string value using javascript in a View that was stored in ViewData in a Controller Action. ( I am not able to figure out the right syntax ).

I wish to do something like..


var str = ViewData["Text"];

I tried the following:

var str = <%=ViewData["Text"] %>

but it didn't work.

Can someone please hel开发者_如何学JAVAp.

Thanks.


Like this (Razor):

var str = @Html.Raw(Json.Encode(ViewData["Text"]));

or (WebForms), using the JavaScriptSerializer (and after importing theproper namespace to your webform - System.Web.Script.Serialization):

var str = <%= new JavaScriptSerializer().Serialize(ViewData["Text"])) %>;

And please don't use ViewData in an ASP.NET MVC application. Use view models and strongly typed views so that your code looks like this:

var str = <%= new JavaScriptSerializer().Serialize(Model.Text) %>;

This technique is even cooler as now you can JSON serialize the entire view model:

var model = <%= new JavaScriptSerializer().Serialize(Model) %>;
var str = model.Text;


That should be:

var str = '<%= ViewData["Text"] %>';
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜