繁体   English   中英

模型绑定html:asp无法正常工作

[英]model binding html:asp not working

我创建了一个动态textarea的组,该组通过使用JS动态添加到DOM 那些textarea ,我确实希望它们在controller 我在那个代码中的model.actionLis t中收到null值:

这是生成的HTML

<div class="input_fields_wrap">
<div><textarea class="form-control text-box multi-line" name="model.actionList[1].probleme"></textarea> <textarea class="form-control text-box multi-line" name="model.actionList[1].action"></textarea></div>

<div><textarea class="form-control text-box multi-line" name="model.actionList[2].probleme"></textarea> <textarea class="form-control text-box multi-line" name="model.actionList[2].action"></textarea></div>

<div><textarea class="form-control text-box multi-line" name="model.actionList[3].probleme"></textarea><textarea class="form-control text-box multi-line" name="model.actionList[3].action"></textarea></div>

</div>

通过这个JS

$(wrapper).append('<div>Probleme: <textarea class="form-control text-box multi-line" name="model.actionList[' + x + '].probleme"></textarea> Action: <textarea class="form-control text-box multi-line" name="model.actionList[' + x + '].action"></textarea>@*<a href="#" class="remove_field">Remove</a>*@</div>'); //add input box

服务器端,这是controller

public ActionResult Create(AuditViewModel model)
{...}

这是著名的Viewmodel部分,在这里很有趣:

public class AuditViewModel
    {public List<Actions> actionList { get; set; }}

最后,这是Action类:

public class Actions
{
    public string probleme { get; set; }
    public string action { get; set; }
}

怎么了?

提前致谢!

首先,索引从0开始,然后像actionList[index].SomePeoperty一样使用它,因为actionList是Model属性:

当你写:

@model SomeModel

@Html.TextAreaFor(x=>x.SomeProperty)

它呈现为:

<textarea name="SomeProperty" id="SomeProperty"></textarea>

它不会像这样渲染:

<textarea name="model.SomeProperty" id="model.SomeProperty"></textarea>

因此,请尝试如下操作:

<div>
<textarea class="form-control text-box multi-line" name="actionList[0].probleme"></textarea> 
<textarea class="form-control text-box multi-line" name="actionList[0].action">
</textarea>
</div>

<div>
<textarea class="form-control text-box multi-line" name="actionList[1].probleme"></textarea> 
<textarea class="form-control text-box multi-line" name="actionList[1]action">
</textarea>
</div>

<div>
<textarea class="form-control text-box multi-line" name="actionList[2].probleme"></textarea>
<textarea class="form-control text-box multi-line" name="actionList[2].action">
</textarea>
</div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM