gpt4 book ai didi

c# - ASP.NET MVC 将可变数量的文本框发布到 Controller

转载 作者:太空宇宙 更新时间:2023-11-03 21:46:51 24 4
gpt4 key购买 nike

我根据列表中元素的数量生成了一些文本框。

模型:

public class MyModel
{
public List<Language> Languages { get; set; }
public string Code { get; set; }
}

public class Language
{
public int Id { get; set; }
public string Name { get; set; }
public string Code { get; set; }
public bool IsDefault { get; set; }
}

观点:

@model MyModel

<form id="formDetail">
@Html.TextBoxFor(m => m.Code)
@foreach (var item in Model.Language)
{
<input type="text" id="@item.Code"/> //the code are : FR, EN, GE, ...
}
</form>

我使用 Ajax 发布表单 (POST)。

Controller :

[HttpPost]
public ActionResult Save(MyModel myModel)
{
..
}

文本框的数量可以根据语言列表中的语言数量而有所不同。你能告诉我如何在 Controller 中获取这些文本框的值吗

谢谢,

最佳答案

替换:

@foreach (var item in Model.Language)
{
<input type="text" id="@item.Code"/> //the code are : FR, EN, GE, ...
}

与:

@for (var i = 0; i < Model.Language.Count; i++)
{
@Html.HiddenFor(x => x.Language[i].Id)
@Html.HiddenFor(x => x.Language[i].Name)
@Html.HiddenFor(x => x.Language[i].IsDefault)
@Html.EditorFor(x => x.Language[i].Code)
}

模型绑定(bind)器会处理剩下的事情。

关于c# - ASP.NET MVC 将可变数量的文本框发布到 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16525972/

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