Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc mvc razor中的Viewdata_Asp.net Mvc_Asp.net Mvc 3_Razor_Viewdata - Fatal编程技术网

Asp.net mvc mvc razor中的Viewdata

Asp.net mvc mvc razor中的Viewdata,asp.net-mvc,asp.net-mvc-3,razor,viewdata,Asp.net Mvc,Asp.net Mvc 3,Razor,Viewdata,我正在使用MVC3.0(Razor框架)进行项目开发。我正在尝试从控制器获取值,以便在Javascript方法中使用按钮单击时查看Viewdata。它出现在document.ready上,但不是在按钮单击时。因此,请帮助获取按钮单击时的Viewdata值 下面是我的代码 [HttpPost] public ActionResult Update() { ViewData["myInfo"] = "my in

我正在使用MVC3.0(Razor框架)进行项目开发。我正在尝试从控制器获取值,以便在Javascript方法中使用按钮单击时查看Viewdata。它出现在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>

$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
$.post(“/importsv/Update”,{},
函数()
{
var g='@ViewData[“myInfo”]';
});
});
});

我想在单击按钮时显示Viewdata值,在这种情况下,最好返回JSON结果<代码>视图数据不正确。不要用它。在您的情况下,它不起作用,因为您需要定义此控制器操作的对应视图,该视图将解释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>

$(文档).ready(函数(){
$(“#btn”)。单击(函数(){
var url=@url.Action(“更新”、“导入”);
$.post(url,{},函数(结果){
var myInfo=result.myInfo;
警报(myInfo);
});
});
});

你的问题框架不可理解。您想说您无法从javascript代码调用的操作方法传递数据吗??。。。另外,还要发布相关的javascript代码,非常感谢,但是除了JSON,还有其他方法吗?因为我已经返回了与我的其他函数相关的字符串。请给出建议do@user1004864,在本例中,JSON似乎更适合。正如我在回答中所说的,您仍然可以使用ViewData,但必须定义相应的
Update.cshtml
view。在该视图中,您将获得在控制器中设置的该视图数据的内容。在AJAX成功回调中,您将获得该视图的渲染结果。