Asp.net 如何显示存储过程中要查看的单个结果
我有一个存储过程Asp.net 如何显示存储过程中要查看的单个结果,asp.net,asp.net-mvc,Asp.net,Asp.net Mvc,我有一个存储过程GetUserDetails,它接受唯一的EID,并显示一个包含不同列的结果(FirstName、LastName等)。。我希望它显示在索引的视图上 这是我的索引控制器代码: public ActionResult Index() { // Set Session["EID"] as string var SessionString = Convert.ToString(Session["EID"]); if (ModelState.IsValid)
GetUserDetails
,它接受唯一的EID
,并显示一个包含不同列的结果(FirstName、LastName等)。
。我希望它显示在索引的
视图上
这是我的索引
控制器代码:
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();
}
如何执行此操作?要将数据从模型传递到视图, 您可以使用:
ViewBag.MyData=“Data”代码>
在视图中,您只需使用@ViewBag.MyData
ViewData.MyData=“Data”代码>
在视图中,您只需使用@ViewData.MyData
TempData[“MyData”]=“Data”代码>
在视图中,您只需使用@TempData[“MyData”]
参考阅读:获取结果集自动生成的
结果
。在我的问题中,GetUserDetails
存储过程有一个自动生成的GetUserDetails\u结果
分配给变量并将其返回到视图
:
sp_GetUserDetails_Result result = db_RIRO.sp_GetUserDetails(SessionString).FirstOrDefault();
return View(result);
在我看来,我已经为GetUserDetails
结果导入了Model
类,在本例中是我的getuserdetills\u结果
类
@model OnlineRIRO.Models.sp_GetUserDetails_Result
然后调用所需的字段:
@Model.FirstName
您可以将模型类的对象(本例中为用户)传递给return语句。like:返回视图(模型);然后在中使用@model使视图成为强类型视图。我建议您学习Microsoft提供的介绍性MVC教程,它解释了这些核心基本概念,例如,将数据输入模型,然后将模型发送到视图,以及在视图中显示来自模型的数据。如何从存储过程结果中获取一列到
ViewBag
?在控制器中设置值ViewBag.FirstName=result.FirstName
和在视图中只需使用@ViewBag.FirstName
使用ViewBag/ViewData/TempData不是推荐的方法。将实际模型传递给视图是正确的方法,它提供了前端编译时智能感知并消除了动态不确定性。我已经提供了所有可用选项作为答案,在评论中,OP询问如何使用ViewBag