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">×</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"