gpt4 book ai didi

c# - 在 MVC 中发布多个对象列表

转载 作者:行者123 更新时间:2023-11-30 14:56:17 25 4
gpt4 key购买 nike

我可以提交一个包含 2 组对象的表单吗,我的模型看起来像这样

        public class Item 
{

public int Id{get;set;}
public bool Selected{get;set;}
public string Name {get;set;}
public string Price {get;set;}

}

public class Translations
{

public int Id{get;set;}
public bool Selected{get;set;}
public int ItemId{get;set;}
public string Name {get;set;}
public string TransName {get;set;}

}

public class ModelToSubmit
{
public List<Item> Items{get;set;}
public List<Translations> TransItems{get;set;}
}

如何将 ModelToSubmit 提交给 Controller ?任何想法? {想要从 ModelToSubmit 的 Items 和 TransItems 中获取所有选中的条目

最佳答案

最简单的方法是使用 EditorTemplates。他们会为您处理所有繁重的工作。

https://stackoverflow.com/a/8513087/61164

@model MVC3Stack.Models.ModelToSubmit

@using (Html.BeginForm("Index"))
{
<table>
Html.EditorFor(Model.Items);
</table>
<table>
Html.EditorFor(Model.TransItems);
</table>
<input type="submit"/>
}

在您的 Controllers View 文件夹(或共享 View )中创建一个名为 EditorTemplates 的文件夹,并在该文件夹中创建一个以项目类型命名的 razor 文件。

Item.cshtml

@model Item

<tr>
<td>@DisplayFor(x => x.Id)</td>
<td>@EditorFor(x => x.Name)</td>
<td>@EditorFor(x => x.Price)</td>
<td>@CheckBoxFor(x => x.Selected)</td>
</tr>

Translations.cshtml

@model Translations

<tr>
<td>@Html.DisplayFor(x => x.Id)</td>
<td>@Html.EditorFor(x => x.ItemId)</td>
<td>@Html.EditorFor(x => x.Name)</td>
<td>@Html.EditorFor(x => x.TransName)</td>
<td>@CheckBoxFor(x => x.Selected)</td>
</tr>

提交操作

[HttpPost]
public ActionResult Index(ModelToSubmit submitModel)
{
return View(submitModel);
}

关于c# - 在 MVC 中发布多个对象列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23211421/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com