c# - 如何从 View 模型发布对象?

标签 c# asp.net-mvc-3 razor viewmodel

我希望这会起作用:(调试时隐藏的输入似乎指向一个对象,但在帖子中没有显示任何内容。这是我尝试过的(请注意,我正在尝试简洁,所以这是一个示例)

型号

public class myViewModel
{
 public MyObject MyObject { get; set; }
 public int MyNumber { get; set; }
}

Controller

public ActionResult displaySimpleView()
{
 var mVM = new myViewModel();
 mVM.MyObject = //let MyObject be filled with 10 fields of data
 return View(mVM);
}

查看

@model namespace.myViewModel

//display the fields of data

@using (Ajax.BeginForm("Complete", ajaxOpts))//simple Ajax Options not really relevant
{
@Html.ValidationSummary(true)

@Html.HiddenFor(m => m.MyObject)
@Html.EditorFor(m => m.MyNumber)

<p><input type="submit" value="Go" /></p>
}

再次 Controller

[HttpPost]
public ActionResult getMyObject(myViewModel mVM)
{
 mVM.MyObject is null here.
 mVM.MyNumber has a value.
 return RedirectToAction("someGetAction");
}

如何将 MyObject 传递给 getMyObject?我希望不必为每个属性设置一个隐藏字段,然后重新映射,因为其中一些属性是嵌套对象。

最佳答案

查看:

@{
  TempData["passMyObject"] = Model.MyObject;
 }

Controller 帖子:

var myObject = TempData["passMyObject"];

关于c# - 如何从 View 模型发布对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10020786/

相关文章:

asp.net-mvc - 如何使 DropDownListFor 在 Razor 中不可选

asp.net - Html.Raw MVC 助手如何工作?

asp.net-mvc-3 - 将 css 类添加到 Razor 布局文件中的元素的最佳方法?

c# - 您在哪个现实生活场景中使用了垃圾收集器?

javascript - 使用带有分页功能的 javascript 获取 Gridview 单元格数据

c# - TreeView 多次触发 BeforeSelect 事件

c# - 如何处理 COM 互操作中的 var(或 ref)参数?

javascript - 如何在 MVC3 中获取选定 ActionLink 的文本

c# - MVC 中的身份验证 3 : Which way to roll

razor - 何时在 MVC 6 的 View 中使用 @await Html.PartialAsync