Я использую привязку модели 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();
}
}