c# - 模型数据未传递给 Asp Mvc 中的 View

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

我有一个返回局部 View 的操作方法

public PartialViewResult GemByMonth(int id,string btn)
{
    if (btn == "bymnthbtn1")
    {
     var birthgembymonth1 = dbcontext.GemStoneByMonths.Where(p => p.GemStoneByMonthId == id).Select(q => new { q.GemEng, q.GemImage });
        return PartialView("_BirthGemByMonthEng", birthgembymonth1);
    }

    return PartialView();
}

我的局部 View 是

@model Astrology.Models.GemStoneByMonth

<div class="col-md-12">
    <div class="col-md-6" style="height: 100%;margin-top: 12%;font-size: 2em"> @Model.GemEng</div>
    <div class="col-md-6"><img style="height: 7em; margin-left: 7em; margin-top: 3em" src="data:image;base64,@System.Convert.ToBase64String(Model.GemImage)" /></div>
</div>

我的模型类

  public class GemStoneByMonth
    {

        public int GemStoneByMonthId { get; set; }
        public string EnglishZodiac { get; set; }
        public string MalayalamZodiac { get; set; }
        public string SanskritZodiac { get; set; }
        public string GemEng { get; set; }
        public string GemMal { get; set; }
        public byte[] GemImage { get; set; }
    }

我有 2 个按钮。因此,为了区分发生点击事件的按钮,我向我的按钮添加了值,该按钮通过字符串“btn”变量访问。

但是我传递给局部 View 的模型数据没有传递到我的局部 View 。有人可以帮我吗?

最佳答案

Linq 查询在默认情况下是延迟加载的,直到您显式调用 ToList()FirstOrDefault()First() 等.

如果您想获得单个值,我相信您会想使用 FirstOrDefault()。此外,您需要将模型作为 GemStoneByMonth 而不是匿名类型传递。

public PartialViewResult GemByMonth(int id, string btn)
{
    if (btn == "bymnthbtn1")
    {
        var entity = dbcontext.GemStoneByMonths
            .FirstOrDefault(p => p.GemStoneByMonthId == id);

        var birthgembymonth1 = new GemStoneByMonth
        {
            GemEng = entity.GemEng,
            GemImage = entity.GemImage
        };    
        return PartialView("_BirthGemByMonthEng", birthgembymonth1);
    }
    return PartialView();
}

关于c# - 模型数据未传递给 Asp Mvc 中的 View ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45922428/

相关文章:

entity-framework - LINQ to Entities 包含查询

c# - 从 Windows 窗体获取数据到 C# 程序

asp.net-mvc - ASP.net 5 MVC 6 bower.json 和 project.json 消失

c# - 如何使用 List<Tuple<>> 作为操作方法参数?

c# - 有没有办法检查 Controller 是否禁用了 JavaScript

javascript - 如何在 Javascript 中定义 URL 以调用驻留在 Controller 中的 ActionResult 方法

c# - 将列表拆分为 block - C#

c# - 使用 C# 解析 .msg 文件

c# - Entity Framework 核心一对多

c# - C#Youtube API:从搜索中排除直播