[英]Asp.net 4.5 WebForms ModelBinding not allowing setting selectedvalue on dropdownlist
我正在使用Asp.net 4.5模型綁定。 我有一個具有select方法的下拉列表,該方法返回IEnumerable產品列表。 一切正常。 但是,當我進入頁面時,我需要檢查查詢字符串並更改dropdownlist的selectedvalue(使用SelectMethod綁定)。
通常我會簡單地使用...
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlProducts.SelectedValue = Request.QueryString["productid"];
}
}
但是,當下拉列表綁定到SelectMethod時不起作用(新的asp.net 4.5模型綁定)。 那么,當我登陸頁面時,如何通過查詢字符串設置下拉列表的selectedValue?
ASPX(使用正常下拉列表,但帶有SelectMethod):
<asp:DropDownList ID="ddlProducts" runat="server" DataTextField="Description" DataValueField="ProductId" AppendDataBoundItems="True" SelectMethod="GetProducts"></asp:DropDownList>
CS
public static IEnumerable<Product> GetProducts()
{
using (var db = new AppDb())
{
return db.Products.OrderBy(x => x.Description).ToList().AsEnumerable();
}
}
我不是專家,所以您的里程可能會有所不同。 但我認為您要做的就是更改getProducts的定義:
public static IEnumerable<Product> GetProducts()
至
public static IEnumerable<Product> GetProducts([QueryString("somequerystringvariablename")] string param)
然后使用“參數”過濾查詢
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.