【问题标题】:How to return single record of table from controller in MVC如何从 MVC 中的控制器返回表的单个记录
【发布时间】:2018-05-25 17:52:53
【问题描述】:

我可以使用以下方法从控制器返回整个表,其中我可以将表作为可查询返回:

EmployeeEntities db = new EmployeeEntities();

        [Route("GetEmployeeList")]
        public IQueryable<EmployeeTable> GetEmployeeList()
        {
            return db.EmployeeTables.AsQueryable();
        }

这里我试图根据 ID 返回一条记录。如何从控制器返回单条记录?

public void Edit(int Oid)
        {
            using (EmployeeEntities dc = new EmployeeEntities())
            {
                EmployeeTable emp = dc.EmployeeTables.Find(Oid);
            }
        }

这里,与Oid匹配的记录保存在emp中。如何返回emp?

【问题讨论】:

  • 您能否将返回类型从void 更改为EmployeeTable 并使用return emp 从控制器操作方法中调用它?
  • 可以分享一下代码,在ActionMethod中调用edit函数的地方吗?
  • 我建议您在继续构建 MVC 应用程序之前学习 C# 语言的基础知识

标签: asp.net .net asp.net-mvc asp.net-mvc-4 asp.net-mvc-3


【解决方案1】:

你可以的

public EmployeeTable Edit(int Oid)
{
     using (EmployeeEntities dc = new EmployeeEntities())
     {
         EmployeeTable emp = dc.EmployeeTables.Find(Oid);
         return emp;
     }         
}

【讨论】:

  • return 需要在using 范围内或emp 需要在其外部声明。
【解决方案2】:
public EmployeeTable Edit(int Oid)
{
     EmployeeTable emp =new EmployeeTable (); // or  EmployeeTable emp =null;

     using (EmployeeEntities dc = new EmployeeEntities())
     {
          emp = dc.EmployeeTables.Find(Oid);
     }
     return emp;
}

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
猜你喜欢
  • 1970-01-01
  • 2013-02-01
  • 1970-01-01
  • 2014-02-11
  • 1970-01-01
  • 2020-08-28
  • 1970-01-01
  • 1970-01-01
  • 2020-11-17
相关资源
最近更新 更多