1
조치 방법을 작성하지 않고 cshtml 페이지를보기로 제공 할 수 있습니까?조치 방법이없는 cshtml/view
그래서 내가 Help라는 컨트롤러와 Money.cshtml이라는 뷰를 가지고 있다면 액션 메소드를 작성하지 않고 localhost/help/money로 액세스하려고합니까?
조치 방법을 작성하지 않고 cshtml 페이지를보기로 제공 할 수 있습니까?조치 방법이없는 cshtml/view
그래서 내가 Help라는 컨트롤러와 Money.cshtml이라는 뷰를 가지고 있다면 액션 메소드를 작성하지 않고 localhost/help/money로 액세스하려고합니까?
다음과 같이 할 수 있습니다. 는 하나 개의 동작 예컨대 :
routes.MapRoute(
"Help_default", // Route name
"help/{path}", // URL with parameters
new { controller = "About", action = "Page" }
);
그런 다음 당신의 도움이 컨트롤러는 다음과 같이 수에 매핑 경로를 정의합니다. 기본적으로 URL에서 경로를 가져 와서 해당 모델을보기로 전달합니다. 기본적으로 뷰가 해당 경로 여부에 존재하는지 확인
@model string
@{
string viewPath = string.Format("~/Views/Help/{0}.cshtml", Model);
ViewEngineResult result = ViewEngines.Engines.FindView(this.ViewContext.Controller.ControllerContext, viewPath, null);
if (result.View != null)
{
@Html.Partial(viewPath)
} else {
// Define a not found view in the shared folder?
@Html.Partial("NotFound")
}
}
:
public class HelpController : Controller
{
public ViewResult Page(string path)
{
return View("Page", path);
}
}
귀하의 페이지 뷰는 다음과 같이 할 수있다. 그것은 약간 더럽다고 느낀다. 그러나 나는 그것이 일할 것이다라고 생각한다.
조치 방법을 쓰지 않는 목표는 무엇입니까? 이 URL은 URL 관리 (즉, 'localhost/help/money'라는 정확한 URL)를 목적으로 했나요? 아니면 단순히 컨트롤러에 액션 메소드를 작성하고 싶지 않습니까? View를 같은 이름으로 렌더링하는 것만을 수행하는 액션 메소드를 작성하는 것은 쉽습니다. –
액션 메소드를 모두 작성한 경우 리턴 뷰를 작성하고 싶지 않습니다. 정적 인 페이지가 많아서 내 견해와 동일한 장소에 속한 것처럼 보입니다. – orangesherbert