source

ASP.NET MVC에서 레이저 @Url을 사용하려면 어떻게 해야 합니까?C# 코드의 내용() 도우미?

manycodes 2023. 8. 9. 20:53
반응형

ASP.NET MVC에서 레이저 @Url을 사용하려면 어떻게 해야 합니까?C# 코드의 내용() 도우미?

이미지 태그를 출력하는 html 도우미 확장자를 작성하려고 합니다.저는 (C# 코드 내에서) Razor의 @Url과 같은 것에 액세스해야 합니다.현재 컨텍스트에 대한 올바른 URL을 가져오는 내용() 도우미입니다.어떻게 하는 거지?

다음을 사용하여 Url을 모방합니다.코드의 내용입니다.

VirtualPathUtility.ToAbsolute("~/url/");

의 인스턴스를 직접 생성할 수 있습니다.UrlHelper적절한 것을 건네줌으로써.ViewContext예를 들어 이미지 도우미에서 이 작업을 수행하려면 다음과 같이 하십시오.

public static string CustomImage(this HtmlHelper html)
{
    var Url = new UrlHelper(html.ViewContext.RequestContext);
}

이 시점에서 전화를 걸 수 있습니다.Url.Content()기타UrlHelper방법.

이런 거?

public static string MyHelper(this HtmlHelper h)
{
      string url = h.ViewContext.HttpContext.Request.Url.AbsoluteUri;
}

네, 가능합니다.

컨트롤러에서 다음을 호출할 수 있습니다.

this.Url.Content("~/Somerelativepath?somethingelse=true");

예, 이 코드를 사용하여 추가합니다.Url.Content코드에 입력:

var img_btn_edit = VirtualPathUtility.ToAbsolute("~/Content/images/pencil.png");

Request 개체 및 다음과 같은 URL에 액세스할 수 있습니다.

string fullUrl = HttpContext.Current.Request.Url.AbsoluteUri;

언급URL : https://stackoverflow.com/questions/351937/in-asp-net-mvc-how-can-i-use-the-razor-url-content-helper-from-c-sharp-code

반응형