我有一个像这样的选择列表
<select id="select-product">
<option>Select a Product</option>
</select>
我在运行时使用Ajax填写此列表,现在我想将其转换为剃刀视图,我将在重定向到页面之前将数据包含在Viewbag中。
我该怎么做?
答案 0 :(得分:1)
在重定向到页面之前,我会将数据包含在Viewbag中。
一种常见(且很好)的方法是在视图中使用@Html.DropDownList()
或@Html.DropDownListFor<>()
。但是,您应该更喜欢强类型模型而不是ViewBag
中结构较少的数据。
另见:
答案 1 :(得分:0)
$(document).ready(function () {
$.get('/Home/GetProducts/' + $(this).val(), function (response) {
var products = $.evalJSON(response);
var ddlSelectedProduct = $("#SelectedProduct");
// clear all previous options
$("#SelectedProduct > option").remove();
// populate the products
for (i = 0; i < products.length; i++) {
ddlSelectedProduct.append($("<option />").val(products[i].Value).text(products[i].Text));
}
});
});
或
@Html.DropDownListFor(
x => x.SelectedProductId,
new SelectList(ViewBag.Products as SelectList, "Value", "Text"),
"-- Select Product--"
)