asp.net 剃刀:当我的模型返回时,只返回一个对象,而不是所有对象

ndasle7k  于 2022-11-19  发布在  .NET
关注(0)|答案(1)|浏览(129)

我有这个表单字段:

<div class="GroupContent">
                                @{
                                    var nr = 0;
                                    foreach (var entry in Model.Languages)
                                    {
                                        <table cellspacing="" cellpadding="0" border="0">
                                            <tr>
                                                <td class="Label">
                                                    <label for="">language</label>
                                                </td>
                                                <td class="Field">
                                                    <input type="hidden" name="Languages[@nr].Id" value="@entry.Id" />
                                                    <input type="hidden" name="Languages[@nr].GlobalTaggingId" value="@entry.GlobalTaggingId" />
                                                    <input type="hidden" name="Languages[@nr].LanguageId" value="@entry.LanguageId" />
                                                    <div class="input-control text">
                                                        <input type="text" name="Languages[@nr].Name" value="@entry.Name" />
                                                    </div>
                                                </td>
                                            </tr>
                                        </table>
                                    }
                                    nr++;
                                }
                            </div>

这将显示一个带有一些本地化选项的div。

现在,如果我修改其中一个并单击“保存”,则返回以下内容:

因此,正如您所看到的,列表“Languages”只包含一个结果。但是它应该包含2。我的对象被正确地返回,但是又一次;只有这一个对象,而不是两个都有。
这是我的模型:

public class GlobalTaggingLocalizationModel : CmsBasePopupViewModel
{
    public List <LanguageModel> Languages { get; set; }
}

public class LanguageModel
{
    public string Name { get; set; }
    public int Id { get; set; }
    public int LanguageId { get; set; }
    public int GlobalTaggingId { get; set; }
}

为什么不返回包含所有对象的列表?

zzwlnbp8

zzwlnbp81#

如果您移动该行以在languages for循环中递增nr,那么您的输入将具有唯一的名称。

相关问题