我的Order类中有一个ShopID属性的ui模板。

我不想在下拉列表中以整数形式显示ShopID,而是希望能够显示Shop类中的ShopName,但是当我发回到 Controller 方法时,我仍然希望Order类具有选定的ShopID。

我该怎么做?

最佳答案

要获得显示文本项但返回数字ID的下拉列表,必须通过模型将其传递给SelectList。

public SelectList Shops
{
    get
    {
        var list =
            from shop in myDataContext.Shops
            Select shop;

        return new SelectList(list, "ShopID", "ShopDescription");
    }
}

然后,在您看来:
<%= Html.DropDownList("ShopID", Model.Shops) %>

10-07 20:12