我对我的错误提前道歉,因为我是论坛和.net 的新手
我正在使用asp.net、c#、mvc5、EF6、db-first 开发一个应用程序
我的问题是我想在控制器端使用cshtml中的sql语句返回,我无法访问cshtml中查询后出现的变量;
提前感谢的助手
Conroller: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=数据库。数据库.SqlQuery<采样数据>(sql(;
如上所述更新模型类我在启动时创建了SampleData模型类
更改视图:Index2.cshml如下;
@model IEnumerable<**ildemavm3.Models.SampleData**>
...
<td>@Html.DisplayFor(modelItem => item.**Name** )</td>
有很多方法可以将数据从MVC控制器传递到视图。您可以使用viewData或viewBag,这是一个非常方便和灵活的选项。使用这种方法,您可以一次传递多个数据。