我正在使用 Asp.net 4.5 模型绑定。我有一个下拉列表,它有一个返回 IEnumerable 产品列表的选择方法。一切都按预期工作。但是,当我登陆页面时,我需要检查查询字符串并更改下拉列表的选定值(使用 SelectMethod.
通常我会简单地使用...
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
ddlProducts.SelectedValue = Request.QueryString["productid"];
}
}
但是,当下拉列表绑定到 SelectMethod(新的 asp.net 4.5 模型绑定)时,这不起作用。那么,当我登陆页面时,如何通过查询字符串设置下拉列表的选定值?
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();
}
}