Я новичок в MVC.NET, и в какой-то момент я остановился, передавая данные с контроллера для просмотра. У меня есть два действия: одно для GET, другое - для POST. Когда я устанавливаю значения ViewBag в моем методе метода POST, он перенаправляет меня на View, но передает значения с использованием GET в URL-адресе, поэтому значения ViewBag недоступны.ViewBag передает значения в параметрах GET в MVC
Вот снимок одного и того же:
Вид:
<div>
<p>@ViewData["FileName"]</p>
<p>@ViewData["myName"]</p>
<p>@ViewBag.myAdd</p>
<p>@ViewBag.someData</p>
</div>
<div>
<form id="myForm" action="~/Test/Index">
<input type="text" name="myName"/>
<input type="text" name="myAdd" />
<input type="file" name="myFile"/>
<input type="submit"/>
</form>
</div>
CONTROLLER
public ActionResult Index()
{
return View();
}
[HttpPost]
public ActionResult Index(HttpPostedFileBase file, FormCollection data)
{
ViewBag.FileName = Convert.ToString(file.FileName);
ViewBag.myName = Convert.ToString(data["myName"]);
ViewBag.myAdd = Convert.ToString(data["myAdd"]);
ViewBag.someData = "someData";
return View();
}
На представить в форме, он перенаправляет меня http://localhost:65077/Test/Index?myName=mYname&myAdd=MyAdddress&myFile=432f7018-d505-4b0b-8cba-505d62b5472d.png
было бы здорово, если бы кто-то помог мне и объяснил мне то же самое.
благодарит заранее.
Вы внесли какие-либо настройки в маршрутизацию? –
Попробуйте указать, как отправить данные формы с помощью атрибута метода в теге формы, например '
' –В чем вопрос? Я не понимаю, что вы пытаетесь сделать на самом деле. –