0

我将我的表合并到Result. 它没有问题。

public ActionResult Index()
{
  var Result = new Modeller
  {
    KISALTMALAR = context.KISALTMALAR.ToList(),
    FirmaListesiGetir = context.SP_FIRMA_LISTESI_GETIR().ToList(),
  };
  return View(Result );
}

但是,当使用多个动作时,我每次都必须编写上述代码。

例如:

public ActionResult Customer()
{
  var Result = new Modeller
  {
    KISALTMALAR = context.KISALTMALAR.ToList(),
    FirmaListesiGetir = context.SP_FIRMA_LISTESI_GETIR().ToList(),
  };
  return View(Result );
}

public ActionResult Product()
{
  var Result = new Modeller
  {
    KISALTMALAR = context.KISALTMALAR.ToList(),
    FirmaListesiGetir = context.SP_FIRMA_LISTESI_GETIR().ToList(),
  };
return View(Result );
}

我必须在每个 actionresult 中合并我的表格。

我怎样才能只写一次在所有地方使用我的?Result

4

2 回答 2

0

您可以执行以下操作。我总是使用这种方法:

public Modeller GetResult()
{
   var result = new Modeller
  {
    KISALTMALAR = context.KISALTMALAR.ToList(),
    FirmaListesiGetir = context.SP_FIRMA_LISTESI_GETIR().ToList(),
  };

  return result;
}


public ActionResult Customer()
{
  var Result = GetResult();
  return View(Result);
}

public ActionResult Product()
{
  var Result = GetResult();
  return View(Result);

}

于 2013-09-30T19:46:08.893 回答
0

一种选择是仅引用共享类/服务。例如:

public class YourService
{
    public static Modeller GetCombinedTables()
    {
         return new Modeller
                    {
                        KISALTMALAR = context.KISALTMALAR.ToList(),
                        FirmaListesiGetir = context.SP_FIRMA_LISTESI_GETIR().ToList()
                    };
    }
}

然后,在您的操作中,您可以调用该方法:

public ActionResult Customer()
{
    var Result = YourService.GetCombinedTables();
    return View(Result);
}

您还可以Result在控制器级别创建变量,这样您就不必为每个操作分配它。

于 2013-09-30T18:49:41.623 回答