1

div の id をコントローラーに渡したい。私はdivにactionlinkを添付し、以下のようなことをしようとしています.

私の TasksController のインデックス ビュー

@Html.ActionLink("c", "Create", "TasksController", new { i = 6 }, new { @class = "element" })

Create コントローラー内

public ActionResult Create(string i)
        {
            ViewData["I"] = i;
            return View();
        } 

次に、ビューの作成で、

<div class="editor-field">
            @Html.TextBox("divID", ViewData["I"])
            @Html.ValidationMessageFor(model => model.divID)
</div>

しかし、これは機能していません。何か助けてください。前もって感謝します。

4

1 に答える 1

1

これを試して:

@Html.ActionLink("c", "Create", "Tasks", new { i = "6" }, new { @class = "element" })

ルーティングも構成することで、この問題を解決できます。

グローバル.asax:

routes.MapRoute(
    "Default",     // Route name
    "{controller}/{action}/{id}",                           // URL with parameters
    new { controller = "Home", action = "Index", id = "" }  // Parameter defaults
);

アクションリンク:

Html.ActionLink(article.Title, 
                "Item",   // <-- ActionMethod
                "Login",  // <-- Controller Name.
                new { "6"}, // <-- Route arguments.
                null  // <-- htmlArguments .. which are none. You need this value
                      //     otherwise you call the WRONG method ...
                      //     (refer to comments, below).
                )

リンクは次のようになります。

<a href="/Item/Login/6">Title</a> 

コントローラーの名前は「Taskscontroller」ではなく「Tasks」であることを考慮してください。

編集: 別のビューにリダイレクトして一部のデータを渡すには、コントローラーで「RedirectToAction」を使用する必要があります。

return RedirectToAction("Tests", new { 
   ID = "6", 

});

編集

「6」と書く必要があり、これが機能することを願っています

于 2012-05-02T06:40:37.333 に答える