我正在使用MVC 3.0(Razor框架)开展项目。我试图从控制器获取值,使用View按钮点击Javascript Method.Its来源于document.ready但不点击按钮点击。所以请帮助获取按钮点击上的viewdata值。
以下是我的代码
[HttpPost]
public ActionResult Update()
{
ViewData["myInfo"] = "my info";
return View();
}
我的JAvascript代码:
<script type="text/javascript">
$(document).ready(function () {
$("#btn").click(function () {
$.post("/ImportCSV/Update", {},
function ()
{
var g = '@ViewData["myInfo"]';
});
});
});
</script>
我想在按钮上单击
显示Viewdata值答案 0 :(得分:2)
在这种情况下,您最好返回JSON结果。 ViewData
很糟糕。不要使用它。在您的情况下,它不起作用,因为您需要定义此控制器操作的相应视图,该视图将解释ViewData,它是您将在AJAX成功回调中获得的最终HTML片段。使用JSON,您可以直接将一些数据发送到调用脚本:
[HttpPost]
public ActionResult Update()
{
return Json(new { myInfo = "my info" });
}
然后向此控制器操作发送一个AJAX请求:
<script type="text/javascript">
$(document).ready(function () {
$("#btn").click(function () {
var url = @Url.Action("Update", "ImportCSV");
$.post(url, {}, function (result) {
var myInfo = result.myInfo;
alert(myInfo);
});
});
});
</script>