1

私はmvcが初めてです。知識が不足しているため、1 つのことを実行できません。Index.cshtml ビューがあり、このビューがホーム フォルダーにあるとします。ホームフォルダーに登録フォルダーがあり、登録フォルダーにはregister.cshtmlというビューがあります。ホームフォルダーにカタログという別のフォルダーがあります。アプリケーションを実行すると、デフォルトで Index ビューがレンダリングされ、2 つのボタンまたは 2 つのリンク ボタンが表示されます。1 つはボタン テキストが Catalog で、もう 1 つのボタン テキストは登録です。

ユーザーが登録ボタンをクリックすると登録ビューがロードされ、ユーザーがカタログボタンをクリックするとカタログビューがロードされます。どうすればこれを行うことができますか? global.asax ファイルにマッピングするためにどのようなコードを記述する必要がありますか?

別の質問は、あるビューから別のビューに移動するときに、モデルまたはビュー モデルも渡すにはどうすればよいかということです。

サンプルコードでヘルプとコンセプトを探しています。ありがとう

4

2 に答える 2

1

あなたの質問を考慮して、Web アプリケーションに関するあなたの知識は、フォルダーが Web アプリケーションのさまざまな領域を分類するために使用される ASP.NET から来ているという考えに至りました。私が正しければ、ASP.NET MVC のコントローラーを使用して ASP.NET のフォルダーをマップする必要があります (類推は適切ではありませんが、開始には役立ちます)。このようにして、3 つのコントローラー、または 3 つのアクションを持つ 1 つのコントローラーができます。私は2番目のものを選ぶつもりです。

コントローラ:

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")

2 番目の質問は、Get を使用してビューから別のビューに ASP.Net MVC で ViewModel を渡すで回答されています

于 2013-08-19T14:36:30.200 に答える
0

それぞれのボタン クリック ハンドラで適切な /controller/action を呼び出します。

登録ボタンハンドラの場合、/home/register. 登録機能のビューを持っているように指示します。ホームコントローラーの登録アクションで、表示したいビューを返します。

public ActionResult Register()
{
return View();
}
于 2013-08-19T11:58:08.160 に答える