我想访问以下代码中的Java脚本中的视图数据
public virtual ActionResult Edit(MyModel _MyModel)
{
//some Code
if (true..)
{
ViewData["Messages"] = "Data Updated Sucessfully";
}
else
{
ViewData["Messages"] = "you cannot Updated data";
}
return View();
}
在javascript中
function SaveData() {
$("#btnSave").click(function () {
// $('#divLoadImage').show();
// $('#divOverlay').show();
// debugger;
$.ajax({
type: "POST",
url: "Admin/Edit/",
data: "",
complete: function () {
alert(ViewData["Messages"]);
}
});
});
}
它在警报中没有给我任何价值。
答案 0 :(得分:4)
您需要使用例如JavaScriptSerializer类对其进行编码:
function SaveData() {
$("#btnSave").click(function () {
$.ajax({
type: "POST",
url: "Admin/Edit/",
data: "",
complete: function () {
alert(@Html.Raw(new JavaScriptSerializer().Serialize(ViewData["Messages"])));
}
});
});
}
或使用简单的引号,但要小心,因为如果邮件包含引号可能会破坏,所以我不建议你这样做:
alert('@ViewData["Messages"]');