这两种写法的区别?

于娜 2016-06-03 10:32:55
这两种写法的区别?


<form action="/Book/Search" method="get">
<input type="text" name="q"/>
<input type="submit" value="搜书" />
</form>

===========================

@using (Html.BeginForm("Search", "Book", FormMethod.Get))
{
<input type="text" name="q" />
<input type="submit" value="搜书" />
}

========

问题,提交后现实路径为:http://localhost:3961/book/search?q=aaaaa
如果我想让路径形式为:http://localhost:3961/book/search/aaaaa
怎么做到?
...全文
209 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘小安 2016-06-04
  • 打赏
  • 举报
回复
form表单提交的数据都在?后面的参数里面了。你这个是MVC的参数,必须自己封装。写个js封装提交。 在form里面写个onsubmit来处理这个
AsheBin 2016-06-04
  • 打赏
  • 举报
回复
http://localhost:3961/book/search?q=aaaaa 上面这个是http的get请求标准的写法 只有通过路由才能让参数写成这样的把 http://localhost:3961/book/search/aaaaa 如果在MVC中,路由可以成下面的形式可以满足你的要求

routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                new { controller = "Home", action = "Default", id = UrlParameter.Optional } // Parameter defaults
            );
是否能用在其他地方我就不清楚了,自己试试吧
于娜 2016-06-04
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
两者是等价的,后者是对前者的封装。 如果要你的那种形式,必须用js了 windows.location.href="/book/search/" + $("q").val();
后者form是对前者的封装? 听说后者虚拟路径支持的好,能举个栗子码?
Poopaye 2016-06-03
  • 打赏
  • 举报
回复
1、基本上没区别 2、给submit加上onsubmit事件,来后自己在里面处理表单
threenewbee 2016-06-03
  • 打赏
  • 举报
回复
两者是等价的,后者是对前者的封装。 如果要你的那种形式,必须用js了 windows.location.href="/book/search/" + $("q").val();

62,272

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧