public ActionResult EditorInterface()
        {
            return View();        }
        [HttpPost]
        public ActionResult Content()
        {
            GridDataContext grid = new GridDataContext();            string Id = Request.Form["Id"];
            string MenuName = Request.Form["MenuName"];
            string ApplicationId = Request.Form["ApplicationId"];
            string Levels = Request.Form["Levels"];            ViewData["Id"] = Id;
            ViewData["MenuName"] = MenuName;
            ViewData["ApplicationId"] = Id;
            ViewData["Levels"] = Levels;
            return View();        }请问我在controller的Content方法中获得的数据怎么可以传到EditorInterface方法的视图中

解决方案 »

  1.   

    Content中return View();改为return RedirectToAction("EditorInterface");然后,在EditorInterface对应的视图中,使用ViewData中的数据。或者,在RedirectToAction的时候,带参数:return RedirectToAction("EditorInterface", new{ Id=Id, MenuName=MenuName, ApplicationId=ApplicationId, Levels=Levels});
      

  2.   

    带参数传递的话,在EditorInterface中,写好传入参数,只要参数名与传递时保持一致,就可以直接使用了。
      

  3.   


     public ActionResult Edit(int id)
            {
                return View(list.First(n => n.Id == id));
            }
            [HttpPost]
            public ActionResult Edit(int id, FormCollection formValues)
            {
                NewsModel news = list.First(n => n.Id == id);
                UpdateModel<NewsModel>(news);
                return RedirectToAction("Details", new { id = id });
            }
      

  4.   


    <td>
                    <%: Html.ActionLink("Edit", "Edit", new {  id=item.Id  })%>
                    |
                    <%: Html.ActionLink("Details", "Details", new {  id=item.Id  })%>
                    |
                    <%: Html.ActionLink("Delete", "Delete", new {  id=item.Id  })%>
                </td>
      

  5.   

    值我已经传到EditorInterface中了 可是我load弹出EditorInterface的视图时,它都执行两遍EditorInterface方法,第二遍执行时 就又没有值了,所以还是传不上,不知道有什么方法解决没
      

  6.   


    使用参数传递,到EditorInterface的action中,如果你还要在视图里面使用,就需要缓存到ViewData里面去了。
    另外,看不出你的Content这个action的作用,你为什么不直接把数据提交到EditorInterface的action中呢?然后,查询也好,继续传递至视图也好,都可以,放到ViewData里面就好了。
      

  7.   

    ViewData里面没有么?为啥会执行两遍?
      

  8.   

    你好,ustbwuyi,我是利用的jquery dialog弹出的EditorInterface视图,我的弹出方法是这样写的,不知为什么执行了两遍 function Editor() {
                var id = $("#table1").jqGrid("getGridParam", "selrow");//获取选中行的Id
                var rowData = $("#table1").jqGrid("getRowData", id); //获取选中行的数据
                var EditorConteng = { Id: rowData.Id, MenuName: rowData.MenuName, ApplicationId: rowData.ApplicationId, Levels: rowData.Levels };
                
                    $.ajax({                    url: '<%=Url.Content("~/Grid/Content/")%>',
                        type: 'post',
                        dataType: 'json',
                        data: EditorConteng,
                        success: function () {
                                               },
                        complete: function () {
                            $("#Editor").html("").load('<%=Url.Content("~/Grid/EditorInterface/")%>');
                            $("#Editor").dialog("open");
                        }                });
                
              
                    };