gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC3 中的 Post Action 中获取属性 (List) 的值

转载 作者:行者123 更新时间:2023-12-04 05:45:51 24 4
gpt4 key购买 nike

这是我的模型:

public class MyModel
{
public List<long> NeededIds { get; set; }
public string Name { get; set; }
}

我的 Controller :
public ActionResult Create()
{
MyModel model = new MyModel();
model.NeededIds = new List<long> { 1, 2, 3, 4 };
return View(model);
}

[HttpPost]
public ActionResult Create(MyModel model)
{
string name = model.Name;
List<long> ids = model.NeededIds;
return RedirectToAction("Index");
}

并查看:
@model TestMVC.Models.MyModel

@using(Html.BeginForm()) {

<table>
<thead>
<tr>
<th>
Id
</th>
</tr>
</thead>
<tbody>
@foreach(long id in Model.NeededIds) {
<tr>
<td>
@id
</td>
</tr>
}
</tbody>
</table>

@Html.ValidationSummary(true)
<fieldset>
<legend>MyModel</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}

我设置了 NeededIds在获取操作和 View 中我可以看到 NeededIds .我也需要在后期操作中使用它,但在后期操作中 NeededIds始终为空。当我在获取操作中设置它时,如何在发布操作中获取属性值?你的建议是什么?

最佳答案

您没有发布您的 NeededIds回到服务器。为了让它工作,您可以将它们作为隐藏字段添加到表单内的 for 循环中:

@for (int i = 0; i < Model.NeededIds.Count(); i++) { 
@Html.HiddenFor(model => model.NeededIds[i])
}

关于asp.net-mvc - 在 ASP.NET MVC3 中的 Post Action 中获取属性 (List<long>) 的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10697245/

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