jQuery/Javascript Razor. Javascript/jQuery ( VS/ script ..)
HTML . dummy script , script:
<script id="template" type="text/template">
<div class="form-group">
@Html.LabelFor(model => model.transaction_item, "transaction_item", htmlAttributes: new { @class = "control-label col-md-2" })
<div class="col-md-4">
@Html.DropDownList("transaction_item", null, htmlAttributes: new { @class = "form-control" })
@Html.ValidationMessageFor(model => model.transaction_item, "", new { @class = "text-danger" })
</div>
<div class="col-md-6"><input type="button" class="BtnPlus" value="+" /></div>
</div>
</script>
, DOM, .
HTML- , :
$("#trItem").append($('#template').html());
The only problem you need to solve is any duplicate identifiers and indexing for multiple elements. I usually use raw HTML in the template (not Razor) and use placeholders for various attributes that require renaming.
eg.
<script id="template" type="text/template">
<div class="form-group">
<label for="{id}"/>
source
share