将div id作为参数传递给控制器​​?

时间:2012-05-02 05:59:33

标签: c# asp.net-mvc asp.net-mvc-3 actionlink

我想将div的id传递给控制器​​。我已经附加了一个动作链接到div,我正在尝试做类似下面的事情,

我的TasksController的索引视图

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

在Create controller

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>

但这不起作用。 有什么帮助吗?提前致谢。

1 个答案:

答案 0 :(得分:1)

试试这个:

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

您也可以通过配置路由来解决此问题:

global.asax中:

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

The Actionlink:

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> 

请考虑控制器名称是&#34;任务&#34;不是&#34;任务控制器&#34;。

修改 要重定向到另一个视图并传递一些数据,您必须使用&#34; RedirectToAction&#34;在控制器中:

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

});

修改

你必须写&#34; 6&#34; ,只需任务希望这会有效!