【发布时间】:2021-12-01 03:50:27
【问题描述】:
我有一个问题,我们应该为每个操作分配一个 http 属性吗? 例如,没有任何动作的索引页面只是显示 html,我们还需要分配一个 http 属性吗?为什么,因为没有检索数据。 如果我删除 ViewDetail 和 CreateRecord 的 Http 属性,页面仍然可以工作,并且没有错误添加和不添加 http 属性的巨大差异
public ActionResult Index()
{
return View();
}
[HttpGet]
public ActionResult ViewDetail()
{
//.... Get Data Action
return Redirect(Url.Action("Edit","Home"));
}
[HttpPost]
public ActionResult CreateRecord()
{
//.... Create Action
return Redirect(Url.Action("Edit","Home"));
}
【问题讨论】:
-
不,如果您有默认端点或路由,则根本不需要使用任何 http 属性。仅当您有多个相同的操作路线时才需要它们,并且 mvc 引擎应该能够确定要使用其中的哪一个。
-
HttpAttribute,主要用于 WebAPI 构建 RESTful 服务并帮助定义应该使用哪种 HTTP 方法来访问每个方法(GET、POST、PUT 等)。 Index页面的请求,默认使用GET方式。
标签: c# asp.net-mvc model-view-controller http-post http-get