我正在使用骨幹js來處理我的視圖和模型,但是我希望在ASP.NET MVC中使用Html.EditorFor來呈現模板。這是因爲我的表單是基於C#類動態創建的。我只嘗試了JavaScript模板的下劃線,但它需要在此值域中標記,如<%=heading%>
,這對我來說不是一種選擇。我需要一個模板引擎,它可以使用每個表單組件的名稱映射我的表單,或者是否有其他視圖引擎可以呈現相同的標記,以便同時適用於服務器和js模板引擎。基於名稱映射HTML表單的JavaScript模板引擎
UPDATE
在我看來,我使用Html.EditorFor是這樣的:
@foreach (var type in Html.GetAvailablePageModels()) {
var content = Activator.CreateInstance(type) as IContent;
<script id="[email protected]" type="text/html">
@using (Html.BeginForm()) {
@Html.EditorFor(x => content)
<input type="submit" value="Save"/>
}
</script>
}
然後在我的骨幹鑑於我在做這樣的事情:
var PageModel = Backbone.Model.extend({
urlRoot: '/api/page'
});
var page = new PageModel({ id: 'articles/85' });
page.fetch();
var EditView = Backbone.View.extend({
el: $('div#main'),
initialize: function() {
this.template = _.template($('#view-template-Article').html());
this.render();
},
render: function() {
$(this.el).html(this.template(this.model.toJSON())); // <-- set the values correct in my pre rendered form
return this;
}
});
window.editView = new EditView({ model: page });
在上面的代碼中,我將模型綁定到模板,我需要確保名爲heading的字段綁定到名稱爲「h」的正確表單域eading」。
我會看看像Backbone.Stickit這樣的東西,因爲它看起來像你可能想要雙向綁定到模型? – WiredPrairie 2013-03-18 19:42:19