Я ищу решение для этого уже 2 дня и не могу найти ответ, все, что я нахожу, не работает, поэтому я подумал, что кто-то здесь может Помогите.отправка параметра через Url.Action на контроллер в asp.net MVC
У меня есть график, который я сумел позвонить из просмотра с Url.Action так:
<img src="@Url.Action("DrawPieChart")"/>
, но я не знаю, как передать значение параметра (COUNTRYNAME) через Url .action, чтобы я мог передать его через контроллер, и, наконец, использовать его в AnalyzerData.class
Здесь контроллер: WebTrafficController
public class WebTrafficController : Controller
{
public ActionResult WebTraffic()
{
AnalzyerData analyzerData = new AnalzyerData();
//main actionResult that shows stuff not important for this question
return View(analyzerData);
}
public ActionResult DrawPieChart(string countryName)
{
AnalzyerData analyzerData = new AnalzyerData();
return PartialView(analyzerData.getChart(countryName));
}
}
Класс: AnalyzerData
public class AnalzyerData
{
public Chart chartImg { get; set; }
public Chart getChart(string countryName)
{
cWebTrafficDb checkUserStatsWrapper = new cWebTrafficDb();
checkUserStatsWrapper.cmd.CommandText = string.Format("select user_browser, count(*) from user_stats where User_country = '{0}' group by user_browser", countryName);
//checkUserStatsWrapper.cmd.CommandText = string.Format("select user_browser, count(*) from user_stats group by user_browser");
MySqlDataReader reader = checkUserStatsWrapper.cmd.ExecuteReader();
List<object> result1 = new List<object>();
List<object> result2 = new List<object>();
while (reader.Read())
{
result1.Add(reader.GetString(0));
result2.Add(reader.GetString(1));
}
chartImg = new Chart(width: 350, height: 350)
.AddTitle("Naslov")
.AddSeries(
name: "Employee",
chartType: "Pie",
xValue: result1,
yValues: result2)
.Write();
return chartImg;
}
Вид: Webtraffic.cshtml
@model WebTraff.Models.AnalzyerData
@{
ViewBag.Title = "WebTraffic";
}
<div class="inline">
<img src="@Url.Action("DrawPieChart","countryName", new { countryName = "Croatia" })"/>
</div>
P.S. если это невозможно, скажите мне, как это сделать, я пробовал несколько разных методов, и я не мог заставить его работать.
Я не уверен, что это лучший способ динамического выделения изображения. Вы хотите заполнить часть страницы изображением? –