C# 从MVC中的视图向控制器发送字符串的动态列表
我有这样的看法:C# 从MVC中的视图向控制器发送字符串的动态列表,c#,jquery,asp.net-mvc,C#,Jquery,Asp.net Mvc,我有这样的看法: <div class="editor-label"> @Html.LabelFor(model => model.Parts) </div> <div class="editor-field"> <ul id="parts"></ul> <span id="parts-button" onclick="addPart()">+ Add part</span> <
<div class="editor-label">
@Html.LabelFor(model => model.Parts)
</div>
<div class="editor-field">
<ul id="parts"></ul>
<span id="parts-button" onclick="addPart()">+ Add part</span>
</div>
public virtual IList<string> Parts { get; set; }
@LabelFor(model=>model.Parts)
+添加部分
,一个类似这样的JS:
function addPart(name) {
var input = $('<input>').attr("name", "Parts");
if (name != null)
input.val(name);
$('<li>')
.append(input)
.append($('<div>')
.html("X")
.on("click", function () {
var div = $(this)
div.parent().slideUp(function () { $(this).remove(); });
})
.addClass("delete"))
.appendTo($('#parts')).hide().slideDown();
}
函数addPart(名称){
变量输入=$('').attr(“名称”、“部分”);
if(name!=null)
输入.val(名称);
$(“”)
.append(输入)
.append($('')
.html(“X”)
.on(“单击”,函数(){
var div=$(此)
div.parent().slideUp(函数(){$(this.remove();});
})
.addClass(“删除”))
.appendTo($('#parts')).hide().slideDown();
}
还有这样一个模型:
<div class="editor-label">
@Html.LabelFor(model => model.Parts)
</div>
<div class="editor-field">
<ul id="parts"></ul>
<span id="parts-button" onclick="addPart()">+ Add part</span>
</div>
public virtual IList<string> Parts { get; set; }
公共虚拟IList部分{get;set;}
我的问题是,;是否可以直接从视图中元素的动态数量填充字符串的模型列表。或者我是否必须执行以下操作:
public ActionResult Create(Model model, IList<string> Parts)
{
model.Parts = Parts;
var input = $('<input>').attr("name", "Parts[" + index + "]");
public ActionResult创建(模型、IList部分)
{
模型.零件=零件;
非常感谢您提供相关信息的任何帮助或链接。我一直在搜索,但找不到有关此类问题的相关信息。感谢此问题回答:我发现如果您将输入名称更改为include and index([I]),它会正确传递字符串 解决方案: 在创建输入时,我将javascript更改为以下代码:
public ActionResult Create(Model model, IList<string> Parts)
{
model.Parts = Parts;
var input = $('<input>').attr("name", "Parts[" + index + "]");
var input=$('').attr(“名称”,“部分[“+索引+”]);
查看此答案谢谢,这正是我要找的。