2016-02-05 1 views
0

Хорошо, что я новичок в MVC и пытаюсь сделать мне веб-страницу, где я могу перенести в маленькую коробку формы с почтовым индексом и кнопкой, чтобы указать страницу, которая заполнит часть почтового индекса на странице цитаты.Передача значений формы из одного вида контроллера в другую форму на другом представлении контроллеров в asp MVC

Моя проблема: у меня есть два контроллера: homeController, который имеет индексный указатель с небольшим прямоугольником формы. Мне нужно передать почтовый индекс в QuoteController, у которого есть собственное представление, заполненное новым почтовым индексом.

входной домашний контроллер, indexview

@using (Html.BeginForm("Quote", "Quote"))  
    <p>Move From Zip:</p> 
<input type="text" name="Zip"/><br /> 
<input type="submit" value="Next" name="next"> 

котировка формы получить почтовый индекс, на котировки контроллера, на представлении цитатой

@Html.Label("Move From Zip ")<br /> 
@Html.TextBoxFor(m => m.MoveFromZip, "", new { maxlength = 5, @class = "short-textbox" }) 

, что это самый простой способ сделать это

+0

вот вход домашнего контроллера – theone

+0

здесь? где ? .. – Shyju

+0

@using (Html.BeginForm ("Цитата", "Цитата")) {

Move From Zip:

<входного типа = "текст" название = "Zip" заполнитель = "Введите почтовый индекс" MaxLength =» 5 "/>
} – theone

ответ

1

На вашем указателе HomeController указатель можно сохранить в форме "Quote/Quote"

@using (Html.BeginForm("Quote", "Quote")) 
{ 
    <input type="text" name="Zip" /> 
    <input type="submit" /> 
} 

Создать модель представления для вашей цитаты зрения методы действия в QuoteController

public class QuoteVm 
{ 
    public string Zip { set;get; 
} 

и в методе Quote действий QuoteController в

[HttpPost] 
public ActionResult Quote(QuoteVm model) 
{ 
    return View(model); 
} 

и ваш Quote вид будет

@model QuoteVm 
<p>Data passed(POSTED) from Index view</p> 
@using(Html.BeginForm("QuoteSave","Quote")) 
{ 
    @Html.TextBoxFor(s=>s.Zip) 
    <input type="submit" /> 
} 

Теперь для вашей формы в этом представлении вам необходимо есть другой метод действия HttpPost

[HttpPost] 
public ActionResult QuoteSave(QuoteVm model) 
{ 
    // to do : Do something and return something 
} 
+0

Спасибо, это сработало, но я не знаю почему? Я использовал только второй блок кода, который вы указали в текущем классе QuoteModel, где была моя проверка, тогда все, что я добавлял, это элементы в методе begin form, и это сработало, другие вещи не повлияли на передачу. – theone

+0

Есть еще одна проблема, хотя, когда данные передаются на страницу цитаты, она вызывает все мои проверки, как я могу это предотвратить. – theone