在mvc剃刀的Viewdata

时间:2012-01-03 13:38:08

标签: asp.net-mvc asp.net-mvc-3 razor viewdata

我正在使用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值

1 个答案:

答案 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>