2016-06-09 2 views
1

Я новичок в 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

было бы здорово, если бы кто-то помог мне и объяснил мне то же самое.

благодарит заранее.

+0

Вы внесли какие-либо настройки в маршрутизацию? –

+0

Попробуйте указать, как отправить данные формы с помощью атрибута метода в теге формы, например '

' –

+1

В чем вопрос? Я не понимаю, что вы пытаетесь сделать на самом деле. –

ответ

1

Per default form-data прилагается к URL-адресу при отправке на сервер (GET-метод). Вы должны изменить это, используя атрибут метода:

<form id="myForm" action="~/Test/Index" method="post"> 
    <input type="text" name="myName"/> 
    <input type="text" name="myAdd" /> 
    <input type="file" name="myFile"/> 

    <input type="submit"/> 
</form> 
+0

спасибо.! теперь он работает хорошо. :) –

+0

@RamjeeGupta Если вы удовлетворены моим ответом, вы должны отметить его как правильный ответ. –

+0

Сделано.! даже я здесь тоже новый. :) –

Смежные вопросы