I have a model that contains a collection, such as this:
class MyModel { public List<MySubModel> SubModels { get; set; } }
In the view, I want to dynamically add/remove from this list using Javascript before submitting. Right now I have this:
$("#new-submodel").click(function () { var i = $("#submodels").children().size(); var html = '<div>\ <label for="SubModels[' + i + '].SomeProperty">SomeProperty</label>\ <input name="SubModels[' + i + '].SomeProperty" type="textbox" />\ </div>' $("#submodels").append(html); });
This works, but it's ugly. And, if I want to show those labels/textboxes for the existing items, there's no clean way to do that either (without duplicating).
I feel like I should be able to use Razor helpers or something to do this. Any ideas? Help me stay DRY.