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

Asp.net mvc Asp.NET Mvc应用程序中的绑定和路由或url生成问题,asp.net-mvc,data-binding,routing,Asp.net Mvc,Data Binding,Routing,在我看来,下面的调用生成以Tasks/Edit结尾的url,但我希望它生成类似Tasks/Edit/23的url <%= Html.ActionLink<TaskController>("Edit Task", (x) => x.Edit("23"))%> 那么这里有什么问题呢?如何解决url和绑定问题?是的,我是Asp.NETMVC初学者:) 尽管为什么您的id是字符串而不是int? 虽然为什么您的id是字符串而不是int?非常感谢。对于id,它实际上不是一

在我看来,下面的调用生成以Tasks/Edit结尾的url,但我希望它生成类似Tasks/Edit/23的url

<%= Html.ActionLink<TaskController>("Edit Task", (x) => x.Edit("23"))%>
那么这里有什么问题呢?如何解决url和绑定问题?是的,我是Asp.NETMVC初学者:)


尽管为什么您的id是字符串而不是int?



虽然为什么您的id是字符串而不是int?

非常感谢。对于id,它实际上不是一个整数,为了简单起见,我在代码示例中以这种方式更改了它。还有一个问题:我可以使用强类型操作名吗,即不使用“编辑”,Mvc有这样的实用程序吗?@arch stanton:我看不出你怎么可以使用强类型操作名,因为编辑是一个方法,而不是一个类,如果不通过解析LINQ表达式来进行一些严重的修改的话。我会在有时间的时候试一试,但即使可能,它也不应该投入生产。我听说MvcContrib支持那些强类型用法,比如Html.ActionLink(“编辑任务”,(x)=>x.Edit(“23”))。但我自己没试过。非常感谢。对于id,它实际上不是一个整数,为了简单起见,我在代码示例中以这种方式更改了它。还有一个问题:我可以使用强类型操作名吗,即不使用“编辑”,Mvc有这样的实用程序吗?@arch stanton:我看不出你怎么可以使用强类型操作名,因为编辑是一个方法,而不是一个类,如果不通过解析LINQ表达式来进行一些严重的修改的话。我会在有时间的时候试一试,但即使可能,它也不应该投入生产。我听说MvcContrib支持那些强类型用法,比如Html.ActionLink(“编辑任务”,(x)=>x.Edit(“23”))。但我自己没有试过。
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 });
    public ActionResult Edit (string id)
    {
       //retrieve some data and pass it to view and return view
    }
<%= Html.ActionLink("Task", "Edit", new { id = "2" }) %>