mysql - ASP.NET MVC Entity FrameWork 中一个 View 中的多个模型

标签 mysql asp.net entity-framework asp.net-mvc-5

我想要两个 CheckBoxList 一个索引 View ,那些 CheckBoxList 从两个不同的表动态绑定(bind)。一个是运动 另一个是国家/地区

基本上我尝试通过 EditorTemplates,但它不适用于两个 楷模。我面临在单个 View 中使用两个模型的问题。

这是我在 Controller 中的索引方法

    SampleDBContext db = new SampleDBContext();
    public ActionResult Index()
    {
        ViewData["Sports"] = db.Sports.ToList();
        ViewData["Country"] = db.Countries.ToList();             
        return View(ViewData["Sports"]);// I am confused and i don't know what to write there we can call both table data.
    }

体育模板 View

@model MVCDEMO.Models.Sports

@Html.HiddenFor(x => x.s_Id)
@Html.CheckBoxFor(x => (bool)x.is_selected)
@Html.DisplayFor( x => x.s_Name)

国家模板 View

@model MVCDEMO.Models.Country

@Html.HiddenFor(x => x.c_Id)
@Html.CheckBoxFor(x => (bool)x.is_selected)
@Html.DisplayFor( x => x.c_Name)

索引 View

<div class="form-horizontal">
    <div class="form-group">
        <label class="col-sm-2 control-label">
            Select Sports
        </label>
        <div class="col-md-3">
            @Html.EditorForModel()//what to write it recognize Sports template
        </div>
    </div>
    <div class="form-group">
        <label class="col-sm-2 control-label">
            Select Country
        </label>
        <div class="col-md-3">
            @Html.EditorForModel()//what to write it recognize Country template
        </div>
    </div>
</div>

如果我为单个模型工作,它会完美地工作。

最佳答案

我个人会使用具有 SportsCountries 作为属性的强类型 View 模型,而不是使用 ViewData:

public class IndexPageViewModel
{
    public IEnumerable<Sports> Sports { get; set; }
    public IEnumerable<Country> Countries { get; set; }        
}

创建两个局部 View ,每个类一个(SportCountry),将允许您使用 @Html.EditorForModel() helper 。重用部分 View 也将是一个额外的好处,但这显然取决于具体的应用程序。

请注意,“EditorForModel”助手将为模型的每个属性呈现一个编辑器。如果您需要不同类型的编辑器,例如下拉菜单,我不确定是否应该使用 EditorForModel

关于mysql - ASP.NET MVC Entity FrameWork 中一个 View 中的多个模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26211499/

相关文章:

php - 如何访问WordPress插件变量/MySQL数据?

mysql - ruby mysql2 gem 安装错误

mysql - 如何检查具有相同外键的记录是否具有特定值

asp.net - FormsAuthentication.RedirectFromLoginPage 与 Response.Redirect

c# - Entity Framework 计数子实体

mysql - 从外部IP连接到MySql

asp.net - 使用JQuery调用Web服务时可能存在哪些威胁以及如何避免这些威胁?

.net - ASP.NET - 获取屏幕特定区域的屏幕截图?

c# - 我需要帮助理解与 Entity Framework 上下文的第一个方法相关的 C# 语法

c# - 是否可以将 IQueryable<CatDTO> 映射到 IQueryable<CatEf>?