2013-09-30 44 views
0

我將我的表合併到Result。 İt工作沒有問題。在asp.net mvc中合併模型

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到處

回答

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變量,所以這樣你就不必分配它爲每一個行動。

+0

內的對象引用需要非靜態字段此代碼 變種結果= YourService.GetCombinedTables(); ,我也想念某個地方.. –

+0

錯過了靜態關鍵字。更新。 – GvM

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); 

}