C# MVC Razor表单按钮未指定调用控制器

C# MVC Razor表单按钮未指定调用控制器,c#,asp.net-mvc,razor,C#,Asp.net Mvc,Razor,因此,在我看来,我有: <div id="createProductModal" class="modal fade" tabindex="-1" role="dialog"> <div class="modal-dialog" role="document"> <div class="modal-content"> <div class="modal-header">

因此,在我看来,我有:

<div id="createProductModal" class="modal fade" tabindex="-1" role="dialog">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title">Create Product</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                    @using (Html.BeginForm("Create", "Product", FormMethod.Post, new { id = "createProductForm", @class = "form-horizontal"}))
                    {
                        <div class="form-group">
                            <div class="col-md-4">
                                @Html.LabelFor(m => Model.Product.Name, new { @class = "control-label" })
                            </div>
                            <div class="col-sm-8">
                                @Html.TextBoxFor(m => Model.Product.Name, new { @class = "form-control" })
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-4">
                                @Html.LabelFor(m => Model.Product.IsActive, new { @class = "control-label" })
                            </div>
                            <div class="col-sm-8">
                                @Html.CheckBoxFor(m => Model.Product.IsActive, new { @class = "form-control" })
                            </div>
                        </div>
                    }
            </div>
            <div class="modal-footer">  
                <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="$('#createProductForm').submit();">Add product</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Cancel</button>
            </div>
        </div>
    </div>
</div>
但由于某些原因,单击“提交”时会将我重定向到此URL:

http://localhost/Product/Create
并抛出一个404错误,如下所示:

The resource cannot be found.
我没有在路由配置中定义路由当然这不重要吗


有人知道我似乎做错了什么吗?

Html的第二个参数。BeginForm是控制器名称。假设您有一个
产品控制器
,而不是

Html.BeginForm("Create", "Product", ...
试一试


哇,我真不敢相信我错过了。这引发了另一个问题,我的控制器命名约定正确吗?也就是说,它应该被称为ProductController而不是ProductsController吗?该页面将显示产品的集合,因此需要进行“s”@KTOV检查
Html.BeginForm("Create", "Product", ...
Html.BeginForm("Create", "Products"