ActionName의 목적
"ActionName"속성을 사용하여 작업 메서드의 별칭을 설정하면 어떤 이점이 있습니까? 사용자에게 다른 이름으로 작업 메서드를 호출 할 수있는 옵션을 제공한다는 점에서 그다지 이점이 없습니다. 별칭을 지정한 후 사용자는 별칭을 사용해서 만 작업 메서드를 호출 할 수 있습니다. 그러나 이것이 필요한 경우 사용자가 별칭을 지정하는 대신 작업 메서드의 이름을 변경하지 않는 이유는 무엇입니까?
큰 이점을 제공 할 수 있거나 사용하는 것이 가장 좋은 시나리오에서 "ActionName"사용의 예를 제공 할 수 있다면 정말 감사하겠습니다.
번호로 작업을 시작하거나 .net이 식별자에 허용하지 않는 문자를 포함 할 수 있습니다. -가장 일반적인 이유는 동일한 시그니처를 가진 두 개의 작업을 허용하기 때문입니다 (스캐 폴딩 된 컨트롤러의 GET / POST 삭제 작업 참조).
예를 들면 : 당신은 당신의 URL 작업 이름에서 대시를 허용 할 수있는 http://example.com/products/create-product
대 http://example.com/products/createproduct
또는 http://example.com/products/create_product
.
public class ProductsController {
[ActionName("create-product")]
public ActionResult CreateProduct() {
return View();
}
}
동일한 URL을 가져야하는 동일한 서명을 가진 두 개의 작업이있는 경우에도 유용합니다.
간단한 예 :
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" };
}
이 코드를 시도하십시오.
public class ProductsController
{
[ActionName("create-product")]
public ActionResult CreateProduct()
{
return View("CreateProduct");
}
}
이 클래스는 작업의 이름에 사용되는 속성을 나타냅니다. 또한 개발자가 메서드 이름과 다른 작업 이름을 사용할 수 있습니다.
메서드 오버로딩을 구현해야 할 때도 유용합니다.
public ActionResult ActorView()
{
return View(actorsList);
}
[ActionName("ActorViewOverload")]
public ActionResult ActorView(int id)
{
return RedirectToAction("ActorView","Home");
}
`
Here one ActorView accepts no parameters and the other accepts int. The first method used for viewing actor list and the other one is used for showing the same actor list after deleting an item with ID as 'id'. You can use action name as 'ActorViewOverload' whereever you need method overloading.
참고URL : https://stackoverflow.com/questions/6536559/purpose-of-actionname
'Program Tip' 카테고리의 다른 글
lodash .groupBy 사용. (0) | 2020.10.06 |
---|---|
CSS를 사용하여 div에서 배경 이미지 크기 조정 (0) | 2020.10.06 |
Google Maps API V3 : 이상한 UI 디스플레이 결함 (스크린 샷 포함) (0) | 2020.10.06 |
Unix의 특수 문자에 대한 grep (0) | 2020.10.06 |
속도와 확장 성을 위해 Kohana 기반 웹 사이트 최적화 (0) | 2020.10.06 |