微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从MVC控件获取数据到CSHTML

如何解决如何从MVC控件获取数据到CSHTML

我对自己的错误表示歉意,因为我是论坛和.net的新用户

我正在使用asp.net,c#,mvc5,EF6,db首先开发应用程序

我的问题是 我想在控制器端的cshtml中使用sql语句返回,我无法访问在cshtml中的查询之后出现的变量;

先感谢您的帮助者

控制器:OFISController.cs;

public ActionResult Index2()
{       sql = "SELECT * FROM OFIS o "
              + "left join OFISFIRMABAGLA ofb on ofb.OFID = o.OFID "
              + "left join FIRMA f on f.FID = ofb.FID";
    var qOFIS = db.Database.sqlQuery<DbSet>(sql);
    if (qOFIS == null) HttpNotFound();
   
   return View(qOFIS.ToList());

}

查看:Index2.cshml;

@model IEnumerable<ildemavm3.Controllers.OFISsController>

...

<td>@Html.displayFor(modelItem => item.??????  )</td>

解决方法

首先根据查询创建返回结果的Model类: 示例:

namespace ildemavm3.Models
{
    public class SampleData
    {
        public string Name {get; set;}
        public string Address{get; set;}
    }
}

请注意,选择查询必须具有与上述Model类相同的属性名称

控制器:OFISController.cs;

public ActionResult Index2()
{
    sql = "SELECT **Name,Address** FROM OFIS o "
              + "left join OFISFIRMABAGLA ofb on ofb.OFID = o.OFID "
              + "left join FIRMA f on f.FID = ofb.FID";
    var qOFIS = db.Database.SqlQuery<SampleData>(sql);
    if (qOFIS == null) HttpNotFound();
   
    return View(qOFIS.ToList());

}

var qOFIS = db.Database.SqlQuery SampleData >(sql);

在上面更新模型类,这里我在开始时就创建了 SampleData 模型类

更改视图:Index2.cshml如下;

@model IEnumerable<**ildemavm3.Models.SampleData**>
...
<td>@Html.DisplayFor(modelItem => item.**Name** )</td>
,

有很多方法可以将数据从MVC控制器传递到视图。您可以使用viewData或viewBag,这是一个非常方便且灵活的选项。您可以使用这种方法一次传递多个数据。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。