簡體   English   中英

單一控制器的多種模型視圖

[英]Single Controller an View for multiple Models

我是MVC和EF的新手,但是我有一組模型代表表示具有相同結構的查找表

public int ID {get; set;}
public string Value {get; set;}
public bool IsActive {get; set;}

除了為每個控制器和視圖編寫一個控制器和視圖外,還有一種方法來創建一個控制器,該方法由先前選擇的值定義。

因此,如果我的查詢中有兩個是“性別”和“狀態”,並且帶有這些值的下拉菜單,那么我可以選擇所選選項的名稱,然后動態綁定到模型

因此,與其讓Status成為Status = new Status而不是其Object對象= new Object,其中對象是通過上一個下拉列表中的Status選擇來定義的

絕對有可能。 有幾種方法可以實現此目的。 您可能擁有一個EditorTemplate,其中包含顯示下拉菜單所需的所有內容。 在〜/ Views / Shared / EditorTemplates / DropDown.cshtml中

@model string
@{
    Layout = null;
    List<SelectListItem> ListItems = (List<SelectListItem>)ViewBag.ListItems;
}
// not sure what the syntax for a dropdown is, I don't use them
@Html.SelectFor(m => Model, ListItems)

然后在您看來

@Html.EditorFor(m => m.Status, "DropDown", new { ListItems = MyModel.StatusSelectListItems })
@Html.EditorFor(m => m.Gender, "DropDown", new { ListItems = MyModel.GenderSelectListItems })

您可以在模型中的哪個位置進行選擇:

public class MyModel
{
    // other stuff
    public static List<SelectListItem> GenderSelectListItems = new List<SelectListItem> 
    { 
        new SelectListItem{ Value = "Male", Text = "Male" },
        new SelectListItem{ Value = "Female", Text = "Female" }
    };
    // etc
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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