Отображение System.Web.Helpers.Chart в частичном виде из модели - PullRequest
4 голосов
/ 13 марта 2012

Итак, я пробовал помощники диаграмм в пространстве имен System.Web.Helpers.

в соответствии с http://www.asp.net/web-pages/tutorials/data/7-displaying-data-in-a-chart

Я делаю диаграмму в виде .cshtml, но мне хотелосьвместо этого сохраните его в ViewModel.

Нет проблем, за исключением случаев, когда я пытаюсь отобразить его как уменьшенное изображение на веб-сайте.

Я подумал, что самым чистым решением будет создание одного общего ресурса.частичное представление для отображения графиков из моделей

_graph.cshtml

@model System.Web.Helpers.Chart

@Model.Write()

А затем как-то визуализируйте это частичное представление на соответствующих веб-сайтах.Я попробовал несколько версий, но не могу заставить его работать.

Website.cshtml

<div>
    <h2>Some header above a graph</h2>
    <img src="@Html.Partial("_graph", Model.TheChart)" />
</div>

Это не работает, и я не уверен, как это сделать.Только думаю, что сейчас я могу думать, что все модели с диаграммами наследуют интерфейс, который предоставляет Chart, и пусть это будет модель для _graph.cshtml.

<img src="_graph.cshtml" />

Но не уверен, что эта модель использует модель.

Есть мнения?

Ответы [ 2 ]

12 голосов
/ 13 марта 2012
<div>
    <h2>Some header above a graph</h2>
    <img src="@Url.Action("DrawChart")" />
</div>

и тогда вы можете выполнить действие контроллера:

public ActionResult DrawChart()
{
    MyViewModel model = ...
    return View(model);
}

и соответствующий вид, который будет рисовать график (DrawChart.cshtml):

@model MyViewModel

@{
    // TODO: use the data from the model to draw a chart

    var myChart = new Chart(width: 600, height: 400)
        .AddTitle("Chart Title")
        .AddSeries(
            name: "Employee",
            xValue: new[] {  "Peter", "Andrew", "Julie", "Mary", "Dave" },
            yValues: new[] { "2", "6", "4", "5", "3" })
        .Write();
}

и полученный результат:


enter image description here

0 голосов
/ 13 июня 2014
<div>
<h2>Some header above a graph</h2>
<img src="@Url.Action("DrawChart")" />
</div>

public ActionResult DrawChart()
{
MyViewModel model = ...
return View(model);  

}

!!!Чтобы отправить параметр модели в DrawChart

Измените на

<div>
    <h2>Some header above a graph</h2>
    <img src="@Url.Action("DrawChart",Model)" />
</div>

public ActionResult DrawChart(MyViewModel _MyViewModel )
{
    MyViewModel model = MyViewModel ;
    return View(model);
}

MyViewModel имеет значение Null

Обратитесь за советом к тем, кто знает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...