gpt4 book ai didi

javascript - 如何产生 'n'号具有不同名称的文本框的编号。选择的下拉项目的数量?

转载 作者:行者123 更新时间:2023-12-01 02:36:06 25 4
gpt4 key购买 nike

我有一个下拉列表(可以选择多个选项)和另一个 ID 为“showInvestmentForm”的 div 内的两个输入框。选择下拉项后,我想生成与所选下拉项目的数量。我希望这些文本框具有不同的名称,但我找不到一种方法来为它们提供不同的名称,以便将它们的输入值传递到 Controller 。

这是我的 Controller 的一部分:-

foreach(var data in propertyViewModel.PropertyInvestors)
{
FounderInvestment founderInvestment = new FounderInvestment
{
Id = propertyViewModel.FounderInvestmentViewModel.Id ?? 0,
InstallmentPeriod = propertyViewModel.FounderInvestmentViewModel.InstallmentPeriod,
InvestorId = Convert.ToInt32(data),
PropertyId = property.Id,
Investment = propertyViewModel.FounderInvestmentViewModel.Investment
};
_founderInvestmentQueryProcessor.Create(founderInvestment);
}

这是我的下拉菜单:-

<div class="form-group">
@Html.LabelFor(model => model.PropertyInvestors, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.DropDownListFor(model => model.PropertyInvestors, (IEnumerable<SelectListItem>)@ViewBag.Investors, "Select", htmlAttributes: new {@id="dropdown", @class = "form-control",@multiple="multiple" })
@Html.ValidationMessageFor(model => model.PropertyInvestors, "", new { @class = "text-danger" })
</div>
</div>

这些是文本框:-

<div id="showInvestmentForm" style="display:none">                        
<div class="form-group">
@Html.LabelFor(model => model.FounderInvestmentViewModel.Investment, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FounderInvestmentViewModel.Investment, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FounderInvestmentViewModel.Investment, "", new { @class = "text-danger" })
</div>
</div>
<div class="form-group">
@Html.LabelFor(model => model.FounderInvestmentViewModel.InstallmentPeriod, htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-10">
@Html.EditorFor(model => model.FounderInvestmentViewModel.InstallmentPeriod, new { htmlAttributes = new { @class = "form-control" } })
@Html.ValidationMessageFor(model => model.FounderInvestmentViewModel.Investment, "", new { @class = "text-danger" })
</div>
</div>
</div>

最佳答案

如果我理解正确的话,你的问题是输入文本没有发布到你的 Controller 。如果您编写 Controller 的代码来检查完整的场景,将会很有用。

无论如何,在使用 Mvc 帮助程序时,一个常见的错误可能就是您的情况,即当您指向嵌套属性时,生成的输入名称不是最终的属性名称,而是该属性的路径。

@Html.EditorFor(model => model.FounderInvestmentViewModel.InstallmentPeriod, ..)

在您的情况下,代码会生成名称为 FounderInvestmentViewModel_InstallmentPeriod 的输入,而不仅仅是 InstallmentPeriod。

如果在您的 Controller 中您期望一个名为“InstallmentPeriod”的参数,但该参数不会被接收,因为该页面发布了一个名为“FounderInvestmentViewModel_InstallmentPeriod”的参数

关于javascript - 如何产生 'n'号具有不同名称的文本框的编号。选择的下拉项目的数量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47901571/

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