[英]What is the best(easy and clear) way to return arrays from C# to javascript
我知道這里有很多類似的問題,但是我沒有發現有人問完全相同的問題。
我正在使用ASP.NET和MVC4開發項目。 我正在使用aspx作為視圖引擎。 我在視圖處有一個javascript代碼,該代碼獲取輸入值表,並根據它們創建圖。
我使用下面的查詢從數據庫中獲取這些值
var query = from b in db.SchoolTestsPerModulePerStudent
where b.StudentID.Equals(2)
select b;
現在,我的問題是我是否將這些結果放在數組中(我還沒有弄清楚,如何給定b,將其結果分成兩個數組,一個包含測試ID,另一個包含學生的成績,但是我希望我會很快),將這些數組從C#返回到javascript的最佳(簡便)方法是什么?
將對象序列化為JSON 。 例如,如果您的模型是IEnumerable<string>
:
public ActionResult Index()
{
IList<string> strings = new List<string>();
strings.Add("Python");
strings.Add("C#");
strings.Add("Javascript");
strings.Add("Ruby");
return View(strings);
}
@Json.Encode(Model)
["Python","C#","Javascript","Ruby"]
如何給定b,將其結果分成兩個數組
使用Linq。
var student = db.SchoolTestsPerModulePerStudent.Where(x => x.StudentId == 2);
var dates = student.Select(x => x.TestDate);
var grades = student.Select(x => x.TestGrade);
饋送到您的視圖的模型(viewmodel)應該包含一個包含ID和等級的強類型列表。 在您的視圖中(至少使用剃須刀),例如,當您將Model.MyList傳遞給它時,會有HTML幫助程序為您構建下拉列表。
抱歉,我不能給你一個例子,我不在工作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.