0
被選爲我有C#和剃刀的ASP.NET MVC3應用。如何只在局部視圖過濾器後,呈現在視圖中的圖形已經在MVC3
我想創建一個包含過濾器(如年,月)的頁面,一旦用戶選擇過濾器並單擊提交按鈕,就會顯示一個圖形。我用下面的代碼(不工作): 查看 Stats.cshtml
@{
ViewBag.Title = "Home Page";
}
<h2>@ViewBag.Message</h2>
@{ Html.RenderPartial("StatsFilter", Model.FilterViewModel); }
<img src="@Url.Action("DrawChart")" alt="Drawing chart with HTML Helper" />
控制器
public class HomeController : Controller
{
public ActionResult Index()
{
return View("Stats", StatsViewModel);
}
[HttpPost]
public ActionResult Index(FiltersViewModel filters)
{
//Retrieve Data
return View("Stats", StatsViewModel);
}
public ActionResult DrawChart(GraphViewModel graph)
{
var chart = new Chart(width: 500, height: 600)
.AddTitle("Chart Title")
.AddSeries(
chartType: "Line",
name: "Stats",
xValue: chartData.XValues.Keys.ToList(),
yValues: chartData.XValues.Values.ToList())
.GetBytes("png");
return File(chart, "image/bytes");
}
}
視圖模型
public class StatsViewModel
{
public FilterViewModel Filters { get; set; }
public GraphViewModel Graph { get; set; }
}
利用上述方案,我做不知道如何將ViewModel傳遞給gra pH值。此外,如果我進行一些小的調整(如從DrawChart
操作方法中刪除GraphViewModel
),即使沒有數據,圖表仍會顯示。
我想給用戶選擇過濾器然後顯示圖形的可能性。我希望我走在正確的道路上,我的代碼不會被完全拋棄。