2013-08-19 2 views
1

Я новичок в mvc. из-за недостатка знаний, я не могу сделать одну вещь. Предположим, у меня есть вид Index.cshtml, и этот вид находится в домашней папке. У меня есть папка с регистрами в домашней папке, а в папке с регистрами есть вид, называемый register.cshtml. У меня есть другая папка, называемая каталогом в домашней папке. когда я запустил приложение, то по умолчанию будет отображаться представление индекса, и будет две кнопки или две кнопки ссылки. один - это текст кнопки - это каталог, а другой текст кнопки - регистр.Как перемещаться между видами в mvc

, когда пользователь нажимает на кнопку регистрации, тогда регистр должен загружаться, и когда пользователь нажимает на кнопку «Каталог», то каталог должен загружаться. как я могу это сделать? какой код мне нужно написать и какой код мне нужно написать для сопоставления в файле global.asax?

Другой вопрос заключается в том, как я могу передать свою модель или просмотреть модель при перемещении с одного вида на другой.

Ищет помощь & Концепция с образцом кода. спасибо

+0

ли регистрироваться и дома 2 разных контроллеров. Почему у вас есть 2 папки для действий в одном контроллере? Отправьте свой контроллер и просмотрите код. – ckv

ответ

1

Учитывая ваш вопрос, я пришел с идеей, что ваши знания о веб-приложений происходит от ASP.NET, папки используются для категоризации другой области в веб-приложении. Если бы я был прав, вам следует сопоставить папки в ASP.NET с контроллерами в ASP.NET MVC (это не очень хорошая аналогия, но для начала полезно). Таким образом, у вас будет три контроллера или один контроллер с тремя действиями. Я собираюсь выбрать второй.

Контроллер:

public class HomeController : Controller 
{ 
    public ActionResult Index() 
    { 
     var model = new TheViewModel(); 
     return View(model); 
    } 

    public ActionResult Register() 
    { 
     return View(); 
    } 

    public ActionResult Catalog() 
    { 
     return View(); 
    } 
} 

Вид:

@model MvcApplication1.ViewModels.TheViewModel 
@{ 
    ViewBag.Title = "Index"; 
} 

<h2>Index</h2> 

@Html.ActionLink("Register", "Register") 
<br/> 
@Html.ActionLink("Catalog", "Catalog") 

Ваш второй вопрос ответил на Passing ViewModel in ASP.Net MVC from a View to a different View using Get

0

Вызовите соответствующий/контроллер/действие в соответствующих обработчиках кликов кнопок.

В вашем случае для обработчика кнопки реестра направьте его на /home/register. Имейте представление о функциях вашего регистра. В действии регистра вашего домашнего контроллера верните представление, которое вы хотите показать.

public ActionResult Register() 
{ 
return View(); 
}