我有一个奇怪的问题,我不知道这是否真的可行。 我想要的是,能够列出我的模型中的所有值,并直接在列表中编辑它们。
这就是我所拥有的:
模型链接器:
public class StoreLinkerModel
{
//public Guid? id { get; set; }
public IEnumerable<Stores> StoresAndOpeninghours { get; set; }
}
public class Stores
{
public long ID { get; set; }
public string StoreName { get; set; }
public string Address { get; set; }
public string Zip { get; set; }
public string City { get; set; }
}
我的控制器:
public ActionResult Overview()
{
var model = new StoreLinkerModel
{
StoresAndOpeninghours = new[]
{
new Stores()
{
ID = 0,
Address = "Enghavevej 70"
},
new Stores()
{
ID=1,
Address = "Løngangsgade 30"
},
}
};
return View(model);
}
[HttpPost]
public ActionResult Overview(StoreLinkerModel model)
{
if (ModelState.IsValid)
{
var x = "go go go";
}
return RedirectToAction("Overview");
}
我的overview.aspx页面:
@model streetoffrs.web.Models.StoreLinkerModel
@{
ViewBag.Title = "Overview";
Layout = "~/Views/Shared/_dashboard.cshtml";
}
@Html.EditorFor(x => x.StoresAndOpeninghours)
和我的EditorTemplate stores.aspx
@model streetoffrs.web.Models.Stores
@using (Html.BeginForm("Overview", "Dashboard", FormMethod.Post, new { name = "id" + @Html.DisplayFor(m => m.ID) }))
{
@Html.EditorFor(x => x.Address)
<input type="submit" class="left btn btn-primary" value="Ret butiksdata">
}
<br />
列表正在按原样生成,当我点击第一个编辑器的第一个按钮时,它会将模型发布到我的控制器,但是当我按下第二个按钮时,模型为空,但第一个按钮仍然是作品!
这是否可能,如果是,我错过了什么,如果没有,请告诉我如何实现这一目标。
提前感谢!
答案 0 :(得分:0)
你需要编辑这样的帖子:
[HttpPost]
public ActionResult Overview(StoreLinkerModel model)
{
if (ModelState.IsValid)
{
var x = "go go go";
}
return View(model);
}
RedirectToAction 将转到第一个概述操作,因此您将丢失数据。