ActionName的用途
使用“ActionName”属性为操作方法设置别名有什么好处? 我真的没有看到它的好处,给用户提供了调用其他名称的操作方法的选项。 指定别名后,用户只能使用别名调用操作方法。 但是,如果这是必需的,为什么用户不更改操作方法的名称,而不是指定别名?
我真的很感激任何人都可以提供一个例子,说明在可以提供很大好处或最好使用它的场景中使用“ActionName”。
它允许你用一个数字开始你的动作,或者包含任何.net在标识符中不允许的字符。 - 最常见的原因是它允许您拥有两个具有相同签名的操作(请参阅任何脚手架控制器的GET / POST Delete操作)
例如:你可以让你的URL操作名称中的破折号http://example.com/products/create-product
VS http://example.com/products/createproduct
或http://example.com/products/create_product
。
public class ProductsController {
[ActionName("create-product")]
public ActionResult CreateProduct() {
return View();
}
}
如果您有两个具有相同网址的相同签名的动作也很有用。
一个简单的例子:
public ActionResult SomeAction()
{
...
}
[ActionName("SomeAction")]
[HttpPost]
public ActionResult SomeActionPost()
{
...
}
我在用户下载报告时使用它,以便他们可以轻松地将他们的csv文件直接打开到Excel中。
[ActionName("GetCSV.csv")]
public ActionResult GetCSV(){
string csv = CreateCSV();
return new ContentResult() { Content = csv, ContentEncoding = System.Text.Encoding.UTF8, ContentType = "text/csv" };
}
链接地址: http://www.djcxy.com/p/23361.html
下一篇: allow hyphens in URLs for asp.net mvc 2 controller names