2013-08-19 25 views
1

我是mvc中的新成員。由於缺乏知識,我無法做一件事。假設我已查看Index.cshtml並將此視圖駐留在主文件夾中。我有註冊文件夾在主文件夾和在註冊文件夾有視圖稱爲register.cshtml。我有另一個文件夾稱爲目錄在主文件夾中。當我運行我的應用程序時,默認情況下,索引視圖將呈現,並且會有兩個按鈕或兩個鏈接按鈕。一個是按鈕文本是目錄,另一個按鈕文本是註冊。如何瀏覽mvc中的視圖

當用戶點擊註冊按鈕,然後註冊視圖應加載,當用戶點擊目錄按鈕,然後應加載目錄視圖。我怎麼能這樣做?我需要寫什麼樣的代碼,以及我需要寫在global.asax文件中的映射的代碼類型?

另一個問題是,當從一個視圖導航到另一個視圖時,我怎麼能通過我的模型或視圖模型。

尋求幫助&概念與示例代碼。謝謝

+0

是否登記和2個不同的控制器。爲什麼在同一個控制器中有兩個文件夾用於操作?請發佈您的控制器和查看代碼。 – ckv

回答

1

考慮你的問題,我拿出你的關於Web應用程序的知識來自ASP.NET該文件夾用於在Web應用程序進行分類不同區域的想法。如果我是對的,你應該將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(); 
} 
相關問題