[英]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.