прежде всего, извините за мой английский
Я новичок в ASP.NET MVC и пытался разработать простое веб-приложение с использованием Razor Engine
поэтому у меня есть это представление с именем Extract, которое принимает URL-адрес в качестве ввода:
@using (Html.BeginForm("Begin", "Rss"))
{
@Html.LabelFor(m => m.Url) @Html.TextBoxFor(m => m.Url)
<button>Extrair</button>
}
при отправке, это отправит URL моего контроллера:
public ActionResult Begin(ExtractModel m)
{
if (ModelState.IsValid)
{
var extractedData = ExtractorService.Extract(m.Url);
if (extractedData != null)
{
TempData["extractedData"] = extractedData;
return RedirectToAction("Extracted", extractedData);
}
}
return View();
}
тогда новое представление с именем Extracted покажет все ссылки, извлеченные из переданного rss:
public ActionResult Extracted(ExtractedModel m)
{
if (TempData["extractedData"] != null)
{
ViewData["extractedData"] = TempData["extractedData"];
return View(ViewData["extractedData"] as ExtractedModel);
}
else
{
return RedirectToAction("Extract");
}
}
-
@using (Html.BeginForm())
{
foreach (var data in Model.Data)
{
<ul>
<li><a href="@data.Link">@data.Link</a></li>
</ul>
}
<button>Converter</button>
}
Суть в том, что я хочу спросить: как мне получить ViewData ["extractData"], который я установил при загрузке этого представления, чтобы я мог передать его обратно в контроллер и проанализировать всю информацию внутри него ? потому что, когда я нажимаю кнопку «Конвертер», мои ViewData пусты и я ничего не могу обработать без них = \