asp.net-mvc – 在ASP.NET MVC Preview 4中使用路由引擎进行表单提交

我正在使用ASP.NET MVC Preview 4,并想知道如何使用路由引擎进行表单提交.

例如,我有一条这样的路线:

routes.MapRoute(
            "TestController-TestAction","TestController.mvc/TestAction/{paramName}",new { controller = "TestController",action = "TestAction",id = "TestTopic" }
            );

一个表单声明如下所示:

<% using (Html.Form("TestController","TestAction",FormMethod.Get))
   { %>
     <input type="text" name="paramName" />
     <input type="submit" />
<% } %>

它呈现:

<form method="get" action="/TestController.mvc/TestAction">
  <input type="text" name="paramName" />
  <input type="submit" />
</form>

表单提交的结果网址是:

localhost/TestController.mvc/TestAction?paramName=value

有没有办法让此表单提交路由到所需的URL:

localhost/TestController.mvc/TestAction/value

我可以想到的唯一的解决方案是创建一个单独的动作,只需检查请求参数,或使用Javascript.

解决方法

解:
public ActionResult TestAction(string paramName)
{
    if (!String.IsNullOrEmpty(Request["paramName"]))
    {
        return RedirectToAction("TestAction",new { paramName = Request["paramName"]});
    }
    /* ... */
}

相关文章

### 创建一个gRPC服务项目(grpc服务端)和一个 webapi项目(...
一、SiganlR 使用的协议类型 1.websocket即时通讯协议 2.Ser...
.Net 6 WebApi 项目 在Linux系统上 打包成Docker镜像,发布为...
一、 PD简介PowerDesigner 是一个集所有现代建模技术于一身的...
一、存储过程 存储过程就像数据库中运行的方法(函数) 优点:...
一、Ueditor的下载 1、百度编辑器下载地址:http://ueditor....