. , , , :
public class QuestionListModel
{
public IList<QuestionModel> Questions { get; set; }
public IList<QuestionModel> Template
{
get
{
return new List<QuestionModel>
{
new QuestionModel {}
};
}
}
public QuestionListModel()
{
Questions = new List<QuestionModel>();
}
}
Template, IEnumerable<T> , . , - MVC. , , "Questions_0__Title", "Template_0__Title".
.
, , <div>. Count . , <div> , .
, - :
<div class="templateContainer">
<div class="question">
[Template]
</div>
</div>
<div class="items">
[for each of your items]
<div class="question">
[Question]
</div>
</div>
, , javascript:
, .
var counter = $("#QuestionsListCount");
var count = parseInt(counter.val());
count++;
, (, jquery .clone(true)), ( 1, ), , .
var template = $("#templateContainer");
var newItem = template.clone(true);
var newId = "item_" + count;
var newQuestion = newItem.children().first();
newQuestion.attr("id", newId);
newQuestion.appendTo('#items');
, ( , ), ids = > "Template_0" "Questions__count 2" names = > "Template [0]" with "Questions [count from step 2]".
$("#" + newId + " :input").each(function (index, input) {
input.id = input.id.replace("Template_0", "Questions_" + (count - 1));
input.name = input.name.replace("Template[0]", "Questions[" + (count - 1) + "]");
});
= > counter.val(count);
- ...
- !
, , , ViewModel IsDeleted, .
, , ( ), IsDeleted true.
, ( , ).
, . , , , (, ).
, ( ) .
!