asp.net - 如何从 MVC 控件获取数据到 CSHTML
问题描述
我提前为我的错误道歉,因为我是论坛和 .net 的新手
我正在使用 asp.net、c#、mvc5、EF6、db first 开发应用程序
我的问题是我想在控制器端使用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>
解决方案
首先根据查询为返回结果创建模型类:示例:
namespace ildemavm3.Models
{
public class SampleData
{
public string Name {get; set;}
public string Address{get; set;}
}
}
请注意选择查询必须与上面的模型类具有相同的属性名称
控制器: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>
推荐阅读
- python - 有没有一种为 scipy.optimize.root 或 scipy.optimize.fsolve 动态创建非线性方程的好方法?
- c - 如何将下划线指向 char 数组的指针转换为 camelCasing?
- ssis - 如何在 SSIS 包中的日期派生列中允许“0”值
- sql - 为什么表类型参数没有在 sp 中声明?
- mysql - 有没有办法将数据从 mysql 表分派到 JSP 页面的下拉列表中?
- c# - RestSharp 请求中止 - 无法创建 SSL/TLS 安全通道
- node.js - React Native navigation.navigate 在 headerRight 按钮上不起作用
- c# - 位于 ListBox.ItemTemplate 中的 TextBlock 的绑定前景
- css - Vuetify.js:如何在 v-stepper 组件中更改步骤文本的颜色?
- python - 如何根据 python 中的 rgb 值合并图像内的像素?