我有一個視圖(用於創建配方),我動態添加了部分視圖(表示產品)。可以有幾種產品添加到配方中。局部視圖按鈕點擊添加,使用jQuery,並能正常工作:如何使HTML助手方法fire eveytime部分視圖呈現
$('.loadPartial').on('click', function (evt) {
evt.preventDefault();
evt.stopPropagation();
var $productsDiv = $('#productsDiv'),
url = $(this).data('url');
$.get(url, function (data) {
$productsDiv.append(data);
});
});
局部視圖有一個組合。該組合的名稱是使用Html幫助器擴展方法「GetIndexedName」動態生成的,該方法將唯一索引添加到指定名稱。如果我點擊按鈕兩次,它應該呈現兩個部分觀點,首先點擊組合名稱之後應該是「ProductsCombo0」,之後的第二個「ProductsCombo1」
@Html.DropDownList(
@Html.GetIndexedName("ProductsCombo"),
null,
htmlAttributes: new { @class = "form-control col-md-3" }
)
的問題是,該方法@ Html.GetIndexedName火災後才第一個按鈕點擊(在調試器中檢查)。接下來的點擊只會渲染局部視圖,但請使用該方法來生成名稱。所有組合都有名稱「ProductsCombo0」,「ProductsCombo0」
你知道如何在每次渲染局部視圖時觸發它?
如果這樣做不能這樣做,你可以推薦我一些其他的解決方案來生成唯一ID嗎?