0
我使用VS 2010,MVC,VS 2005傳遞多個數據項,查看
我創建的.dbml文件作爲我的模型和映射表.dbml文件
我加入使用LINQ表裏面SQL。 我想在我的控制器可顯示兩個表即tbl_class的紀錄,tbl_subject
代碼看起來像這樣
public ActionResult SubjectByTeacher()
{
var DataContext = new SMSAPPDataContext();
var resultclass = (from t in DataContext.tbl_teachers
from e in DataContext.tbl_teacherenrollments
from b in DataContext.tbl_batches
from c in DataContext.tbl_classes
from s in DataContext.tbl_subjects
where
t.Teacher_ID == e.Teacher_ID
&&
e.Batch_ID == b.Batch_ID
&&
b.Class_ID == c.Class_ID
&&
e.Sub_ID == s.Sub_ID
&&
t.Teacher_Name == "ABC"
select c;
var resultsubject = from t in DataContext.tbl_teachers
from e in DataContext.tbl_teacherenrollments
from b in DataContext.tbl_batches
from c in DataContext.tbl_classes
from s in DataContext.tbl_subjects
where
t.Teacher_ID == e.Teacher_ID
&&
e.Batch_ID == b.Batch_ID
&&
b.Class_ID == c.Class_ID
&&
e.Sub_ID == s.Sub_ID
&&
t.Teacher_Name == "ABC"
select s;
return View();
}
然後我創建控制器類映射上述兩個變量即resultclass,resultsubject
public class MyViewModel
{
public MyViewModel(SMSAPPDataContext resultclass, SMSAPPDataContext resultsubject)
{
this.rc = resultclass;
this.rs = resultsubject;
}
public SMSAPPDataContext rc { get; private set; }
public SMSAPPDataContext rs { get; private set; }
}
該類將用於在強類型視圖中創建視圖爲模型。
,但我不能弄清楚,什麼回報視圖通過?????
它可能就像返回視圖(new myviewmodel);
但是,這給了錯誤,我應該使用ToList()屬性任何地方在代碼?
如果任何一個可以告訴我任何其他方式做到這一點,請幫助
問候
SMSAPP是我的項目名稱。 我按照你說的通過項目, return View(new MyViewModel(resultclass,resultsubject)); 建立失敗,得到這個錯誤 「的最佳重載的方法匹配SMSAPP.Controllers.MyViewModel(SMSAPP.Models.SMSAPPDatacontext,SMSAPP.Models.SMSAPPDatacontext)有一些無效參數」 和視圖頁面的頭部顯示爲 Inherits =「System.Web.Mvc.ViewPage」%> –
hmmmmmm
2010-09-25 21:07:55
我不認爲你的MyViewModel構造函數有正確的類型參數。在Visual Studio中將鼠標懸停在'var'上應該有所幫助。我猜它應該是類似的IQueryable和IQueryable的。 –
eddiegroves
2010-09-25 21:18:30
當我將鼠標懸停在'var resultclass'上時,它顯示「class System.Collection.Generic.List」..當我將鼠標懸停在'var resultsubject'上時,它顯示「interface System.Linq.IQueryable 」。 ............然後我改變我的構造函數的參數如你所說.......公共MyViewModel(IQueryable的 resultclass,IQueryable的 resultsubject)......還是得到了無效的參數錯誤 –
hmmmmmm
2010-09-25 21:31:09