我正在使用Razor开发Asp.net MVC 4。我的项目的网址就像
localhost:port / category1
localhost:port / category2等,而我的控制器是home并且action是MyCustomAction
我正在使用带有href="javascript:ShowPage(pagenmbr)
“
ShowPage函数的代码是$('#currentpage').val(pagenmbr); $('#myform').submit();
其中currentpage是我的cshtml页面上的隐藏字段
我的表单是
@using(Html.BeginForm("home","MyCustomAction",FormMethod.Post,new { @id="myform"})
并且当我按任何链接以使任何页面功能正常工作
但在这种情况下,我的网址变为
本地主机:端口/类别1控制器=家庭及安培;行动= MyCustomeAction
虽然我不希望这个url模式url应该是
本地主机:端口/类别1
我是以错误的方式做事,请帮助我...... 请帮帮我
答案 0 :(得分:2)
显然,你的路由有问题。尝试从Route注册类中发布代码。
同样适用于以下行:
@using(Html.BeginForm("home","MyCustomAction",FormMethod.Post,new { @id="myform"})
尝试将其切换为:
<form method="post" id="myform">
执行此操作会强制表单始终提交到当前的Url。
你不能使用HtmlHelper来生成它,因为你需要指定只能在actionName和controllerName之后传递的htmlAttributes。