jth*_*eis 7 asp.net-mvc http-get http-post asp.net-mvc-controller
如果我有2个控制器动作:
[HttpGet]
public ActionResult Login()
{
//...
return View();
}
Run Code Online (Sandbox Code Playgroud)
和
[HttpPost]
public ActionResult Login(FormCollection values)
{
//...
return RedirectToAction("Index","Home");
}
Run Code Online (Sandbox Code Playgroud)
似乎Post装饰是必需的(这很有意义),但HttpGet装饰完全是可选的.无论有没有,它都能正常工作.除非另有说明,否则MVC似乎将控制器操作默认为HttpGet.
我将不得不决定是否希望我的代码的未来读者必须自己解决这个问题,或者我是否想要记住在任何地方添加HttpGet以保持一致性.但我的问题不是关于包含明确的装饰是否是一个好的做法,即使它已经违约了.
我的问题是:总是这样我不需要用HttpGet来装饰控制器方法吗?如果我做或没有明确指定,有什么方法可以咬我吗?我已经搜索了这个但是我能找到的所有帖子都描述了为什么你可能想要使用两个注释而不是特别包含HttpGet的原因.
Row*_*man 10
您不必明确指定,不.但请注意:
如果我做或没有明确指定,有什么方法可以咬我吗?
不太可能.我可以想象一种情况,某些东西可能会出现一些奇怪的行为或因为它没有按预期工作,但它很少见.
| 归档时间: |
|
| 查看次数: |
3878 次 |
| 最近记录: |