如何显示存储过程中的单个结果以查看

时间:2018-05-25 10:44:57

标签: asp.net asp.net-mvc

我有一个存储过程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();
}

我该怎么做?

2 个答案:

答案 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)

要将数据从模型传递到视图, 你可以使用:

  1. ViewBag

    e.g。在控制器中你写ViewBag.MyData = "Data";
    在视图中,您只需使用@ViewBag.MyData

  2. 的ViewData

    e.g。在控制器中你写ViewData.MyData = "Data";
    在视图中,您只需使用@ViewData.MyData

  3. TempData的

    e.g。在控制器中你写TempData["MyData"] = "Data";
    在视图中,您只需使用@TempData["MyData"]

  4. 自定义模型

    e.g。使用您自己的模型并将其传递给视图

  5. 参考阅读:http://www.webdevelopmenthelp.net/2014/06/using-model-pass-data-asp-net-mvc.html