c# - ASP.NET MVC - 将多个变量传递给模型?

标签 c# asp.net asp.net-mvc

我目前有一个模型正在将 dogs 变量传递到 View 中:

public ActionResult Summary()
{
    var dogs = repository.GetAllRecords().OrderByDescending(x => x.DateRecieved);

    return View("Summary", dogs);
}

其中有一个名为 OutcomeID 的字段,它通过 ID 引用另一个数组:

    var categories = new List<Category>();
    try
    {
        this.Connect();
        var cmd = new SqlCommand
        {
            CommandText = "dbo.GetSummaryOutcomes",
            CommandType = CommandType.StoredProcedure,
            Connection = this.cn
        };
        var result = cmd.ExecuteReader();
        while (result.Read())
        {
            categories.Add(new Category
            {
                Name = result["Outcome"].ToString(),
                Value = result["id"].ToString(),
                InUse = bool.Parse(result["InUse"].ToString())
            });
        }
    }

在我看来,是否可以将这些结合起来,而不是仅仅使用 OutcomeID,而是从类别列表中引用 Outcome 结果?

即我需要得到 result["Outcome"]基于匹配dogs.OutcomeIDresult["id"]

抱歉,如果这听起来像一个愚蠢的问题,在 PHP 中这对我来说不是问题,但我是 ASP.NET MVC 的新手,我不知道从哪里开始

谢谢

最佳答案

您可以创建一个 View 模型,这是 ASP.NET MVC 中的常见做法,基本上您必须创建一个新类,其中包含您需要传递给 View 的属性,然后在您的 Controller 中发送 View 模型的实例到您的 View ,并将您的数据转换为 View 模型。

看这里ASP.NET MVC - How exactly to use View Models .您也可能想看看 automapper ,这是一个映射库,它删除了处理 View 模型时涉及的大量样板代码。

关于c# - ASP.NET MVC - 将多个变量传递给模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20640553/

相关文章:

asp.net - Entity Framework 连接字符串对于角色提供者无效?

c# - 在 asp.net 中验证密码

javascript - 为什么ajax一个接一个发送请求

c# - 永远不会调用主窗体的 OnLoad 覆盖

c# - 混淆混合模式程序集或其他保护手段

asp.net - 在 Visual Studio 中预编译 App_LocalResources

c# - Medium Trust 允许哪些反射权限?

c# - Asp.net MVC 4.5 使用 EditorFor、按钮单击将对象添加到 ViewModel 中的列表

c# - .NET MVC 应用程序中所有 HTTP GET 操作的 OnActionExecuted 代码

c# - 将 mp3 字节数组转换为 float 组以在 Unity 中播放