Asp.NET Mvc应用程序中的绑定和路由或URL生成问题

时间:2009-12-21 22:44:38

标签: asp.net-mvc data-binding routing

在我看来,下面的调用生成以任务/编辑结尾的网址,但我希望它生成网址,例如Tasks / Edit / 23

<%= Html.ActionLink<TaskController>("Edit Task", (x) => x.Edit("23"))%>
Global.asax中的

string taskController = NameResolver.NameOfController<TaskController>();
string editAction = NameResolver.NameOfAction<TaskController>(x => x.Edit(null));
routes.MapRoute(
       "EditTasks",
       "Tasks/Edit/{id}",
       new { controller = taskController, action = editAction, id = string.Empty });

我在此操作中也存在绑定问题。从视图设置的值不会绑定到我的Edit参数。它每次都为null,我没有在任何地方设置DefaultModelBinder。这是编辑操作:

    public ActionResult Edit (string id)
    {
       //retrieve some data and pass it to view and return view
    }

那么这里可能出现什么问题?如何解决网址和绑定问题?是的,我是Asp.Net Mvc初学者:)

1 个答案:

答案 0 :(得分:3)

<%= Html.ActionLink("Task", "Edit", new { id = "2" }) %>

虽然为什么你的id是一个字符串而不是一个int?