我有一个存储过程GetUserDetails
,它接受一个唯一的EID
并显示包含不同列(FirstName, LastName, etc).
的单个结果。我希望它显示在Index's
视图上。
这是我的Index
控制器代码:
public ActionResult Index()
{
// Set Session["EID"] as string
var SessionString = Convert.ToString(Session["EID"]);
if (ModelState.IsValid)
{
try
{
var result = db_RIRO.sp_GetUserDetails(SessionString);
}
catch
{
throw;
}
}
return View();
}
我该怎么做?
答案 0 :(得分:1)
获取结果集自动生成的result
。在我的问题中,GetUserDetails
存储过程具有自动生成的GetUserDetails_Result
。
分配给变量并将其返回到View
:
sp_GetUserDetails_Result result = db_RIRO.sp_GetUserDetails(SessionString).FirstOrDefault();
return View(result);
在我看来,我已为Model
结果导入GetUserDetails
课程,在本例中为GetUserDetils_Result
课程。
@model OnlineRIRO.Models.sp_GetUserDetails_Result
然后调用您想要的字段:
@Model.FirstName
答案 1 :(得分:-1)
要将数据从模型传递到视图, 你可以使用:
ViewBag
e.g。在控制器中你写ViewBag.MyData = "Data";
在视图中,您只需使用@ViewBag.MyData
的ViewData
e.g。在控制器中你写ViewData.MyData = "Data";
在视图中,您只需使用@ViewData.MyData
TempData的
e.g。在控制器中你写TempData["MyData"] = "Data";
在视图中,您只需使用@TempData["MyData"]
自定义模型
e.g。使用您自己的模型并将其传递给视图
参考阅读:http://www.webdevelopmenthelp.net/2014/06/using-model-pass-data-asp-net-mvc.html