В моем основном представлении проекта ASP.NET MVC, я представляю частичный вид один раз, а затем нажатием кнопки добавления я хочу добавить частичное представление к форме. Но когда я нажимаю add, в MainView добавляется только дочерний элемент.... Как я могу добавить корневой элемент моего частичного представления (_roll.cshtml)?
MainView.cshtml
<div id="rolls">
@Html.Partial("_roll")
</div>
<br />
<div class="row">
<button id="addRoll" class="btn"></button>
</div>
_roll.cshtml
<div class="roll">
<div class="row">
...
</div>
</div>
.js
$(function () {
$('#addRoll').click(function (e) {
e.preventDefault();
$('#rolls').append($('.roll').html());
});
});
Попробуйте просто использовать сам элемент, а не его innerHTML (.html()):
$(function () {
var $rolls = $('#rolls'), $role = $('.roll:first');
$('#addRoll').click(function (e) {
e.preventDefault();
//$rolls.append($('.roll')); // wont work since you want to append the same element to the same parent
$rolls.append($role.clone());
});
});
Или вы можете просто использовать OuterHTML элемента, если хотите.