簡體   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