簡體   English   中英

ASP.NET 4.5 WebForms ModelBinding不允許在下拉列表中設置selectedValue

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM