我想在视图中使用控制器返回的方法(在我的例子中是光标), 为了从返回的数据中绘制图形。 我写了一段代码,但我还没有找到如何将数据传递给视图。
//controller
[HttpPost]
public async System.Threading.Tasks.Task<ActionResult> drawgraph(Inputmodel m)
{
List<Client> client = new List<Client>();
var collection = db.GetCollection<Client>("Client");
var builder = Builders<Client>.Filter;
var beginDate = Convert.ToDateTime(m.date_begin).Date;
var endDate = Convert.ToDateTime(m.date_end).Date;
var filter = builder.Gte("date", beginDate) & builder.Lt("date", endDate.AddDays(1)) & builder.Eq("field2", m.taux);
var cursor = await collection.DistinctAsync<double>("field2",filter);
return View(cursor);
}
//view
@{
var myChart = new Chart(width:600,height: 400)
.AddTitle("graphique")
.AddSeries(chartType: "Line")
.DataBindTable(dataSource: cursor, xField: "date", yField:"field2") //here I want to use the returnet result by drawgraph in the controller
.Write();
}
答案 0 :(得分:0)
您必须强烈键入视图才能访问模型:
@model YourModelTypeHere @*type of the cursor variable*@
//view
@{
var myChart = new Chart(width:600,height: 400)
.AddTitle("graphique")
.AddSeries(chartType: "Line")
.DataBindTable(dataSource: Model, xField: "date", yField:"field2") //here I want to use the returnet result by drawgraph in the controller
.Write();
}
然后您可以使用Web视图页面的Model属性来获取模型。
请参阅此article。
答案 1 :(得分:0)
您可以使用
控制器中的
ViewBag.MyData = cursor;
//在视图中:
@ViewBag.MyData
从控制器获取数据。
但最佳做法是使用强类型视图。