我在我的模型創建的列表屬性,像這樣如何發佈列表然後在我的控制器中訪問它?
public virtual List<String> listOfDays { get; set; }
然後我轉換並存儲在列表中是這樣的:
for (int i = 0; i < 30 i++)
{
var enrollment = new Enrollment();
enrollment.StudentID = id;
enrollment.listOfDays = searchString.ToList();
db.Enrollments.Add(enrollment);
db.SaveChanges();
}
我把一個斷點在這裏... ... enrollment.listOfDays = searchString.ToList();
一切都很好。我看到轉換已經完成,我可以在listOfDays中看到這些值。
所以我想我會在我的數據庫中找到一個名爲listOfDays的列,因爲我先做代碼但該屬性不在那裏。
然後,我想我會嘗試反正訪問它像這樣...
var classdays = from e in db.Enrollments where e.StudentID == id select e.listOfDays;
var days = classdays.ToList();
//here I get an error message about this not being supported in Linq.
問題:
- 爲什麼你認爲物業在數據庫中是不是?
- 如何將此數組發佈到我的模型,然後在控制器中訪問它?
感謝您的幫助。
由於德克爾:http://forums.asp.net/members/Decker%20Dong%20-%20MSFT.aspx
下面是它如何工作的:
使用表單收集在這裏...
在[HttpPost] ...
私人無效更新(的FormCollection的FormCollection,INT ID)
for(int sc = 0; sc < theSelectedCourses.Count(); sC++) { var enrollment = new Enrollment(); enrollment.CourseID = Convert.ToInt32(theSelectedCourses [sc]); enrollment.StudentID = id; enrollment.listOfDays = formCollection [「searchString」]; //將其作爲一個字符串而不是列表或數組綁定。
然後,在[HTTPGET] ...
私人無效PopulateAssignedenrolledData(學生的學生,INT ID) {
VAR dayList =從E在db.Enrollments其中e.StudentID == ID選擇e;
var days = dayList.ToList(); (days.Count> 0) {dl = days.FirstOrDefault()。listOfDays; string [] listofdays = dl.Split(','); ViewBag.classDay = listofdays。ToList(); }