Asp.net mvc 输入类型=";提交;不';是否在MVC中触发HttpPost?

Asp.net mvc 输入类型=";提交;不';是否在MVC中触发HttpPost?,asp.net-mvc,post,submit,Asp.net Mvc,Post,Submit,我开始感到困惑了。我刚开始建立一个网站,突然发现我的控制器有问题。不管有没有参数,它都不会发布。我想补充一点,我刚刚从另一个控制器和视图中移动了ActionResult方法。这可能是很明显的事情,但我感到很累,我想我会要求澄清 视图路径/名称:视图/表/注册 @foreach (var registration in ViewBag.AllRegistrations) { using (Html.BeginForm("Registrations", "Table", new

我开始感到困惑了。我刚开始建立一个网站,突然发现我的控制器有问题。不管有没有参数,它都不会发布。我想补充一点,我刚刚从另一个控制器和视图中移动了ActionResult方法。这可能是很明显的事情,但我感到很累,我想我会要求澄清

视图路径/名称:视图/表/注册

@foreach (var registration in ViewBag.AllRegistrations)
    {
      using (Html.BeginForm("Registrations", "Table", new { regid = registration.RegistrationId }))
      {
         <tr class="odd gradeX">
          <td>
            <input type="submit" name="command" value="Edit" class="btn btn-default btn-xs" />&nbsp;
            <input type="submit" name="command" value="Delete" class="btn btn-default btn-xs" />
          </td>
         </tr>

      }
    }
路线图:

public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Table", action = "Registrations", id = UrlParameter.Optional }
    );
}
谢谢:)

[HttpPost] 公共操作结果编辑(int regid,string命令) {

}

您可以将操作/方法名称设置为与按钮“值”相同,而不是设置默认路由

这可能会使代码更具可读性,因为您可以使用名为create、edit、delete的操作/方法。我希望这有帮助


另外,您的post逻辑/代码在哪里?目前,您的后期操作只是返回一个视图。你想用那种方法做什么

你能在视图()上按Ctrl键M+Ctrl键G吗?(有HttpPost的那个)。这将指示您将要显示的视图。不相关,但您的路线有
{id}
,但在
BeginForm()
和POST方法中,您有
regid
您应该使用
new{id=registration.RegistrationId}
注册(int-id,string命令)
如果您希望匹配您的路线(或将
{id}
更改为
{regid}
并使其成为
regid=UrlParameter。可选的
也可以将所有这些都放在
元素中-在这种情况下,您的html无效(a
元素不是
的有效子元素,这是我的问题Stephen Muecke!感谢您指出这一点。
public static void RegisterRoutes(RouteCollection routes)
{
    routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

    routes.MapRoute(
        name: "Default",
        url: "{controller}/{action}/{id}",
        defaults: new { controller = "Table", action = "Registrations", id = UrlParameter.Optional }
    );
}
//Insert some logic