ASP.NET MVC HtmlHelper 확장 방법
3825 단어 ASP.NETMVCHtmlHelper 확장 방법
(1)정적 클래스
아래 그림 에서 알 수 있 듯 이 InputExtension 은 먼저 정적 클래스 이다.
(2)정적 방법
정적 클래스 인 이상 모든 방법 은 정적 방법 일 것 입 니 다.예 를 들 어 Public static MvcHtmlString CheckBox();
(3),this 키워드
방법 명 정의 에서 알 수 있 듯 이 첫 번 째 매개 변 수 는 모두 this HtmlHelper htmlHelper 로 HtmlHelper 류 에 대한 확장 을 대표 합 니 다.
MVC HtmlHelper 확장 인 스 턴 스 확장 절 차 를 간단하게 설명 합 니 다.
인 스 턴 스 1,확장 제출
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
namespace TestMvcHelper
{
public static class HtmlExtensions
{
public static MvcHtmlString Submit(this HtmlHelper helper, string value)
{
var builder = new TagBuilder("input"); // input
builder.MergeAttribute("type", "submit"); // type="submit"
builder.MergeAttribute("value", value);
return MvcHtmlString.Create(builder.ToString(TagRenderMode.SelfClosing));
}
}
}
상술 한 실례 설명(1),TagBuilder 를 사용 하려 면 네 임 스페이스 System.Web.Mvc 를 도입 해 야 합 니 다.
(2),Submit 방법 명 은 보기 에서 호출 된 이름 입 니 다.(예:@Html.Submit("제출")
(3)、this HtmlHelper
helper 는 Submit 방법 을 HtmlHelper 에 추가 합 니 다.value 는 제출 단추 에 있 는 텍스트 입 니 다.
(4)、var builder = new TagBuilder("input");
탭 이름 을 input 으로 설정 합 니 다.
(5)、builder.MergeAttribute("type", "submit")
탭 속성 type="submit"을 설정 합 니 다.
(6)、builder.MergeAttribute("value", value);
탭 제출 단추 Value 값 을 설정 합 니 다.
(7)、TagRenderMode.SelfClosing
끝 표시(예 를 들 어)모드 를 표시 합 니 다.
(8),TagRenderMode 는 매 거 진 유형 으로 각각
Normal(정상 텍스트 를 보 여 주 는 모드 표시)
StartTag(시작 표시(예:
EndTag(종료 표시(예:
SelfClosing(예 를 들 어
(9),MvcHtmlString 을 반환 값 으로 하 는 것 은 반환 값 이 전의 되 지 않도록 하기 위 한 것 입 니 다.예 를 들 어'<'는'<'로 바 뀌 지 않 습 니 다.
View 에서 호출 됨
@Html.Submit(" ")
인 스 턴 스 2,확장 하이퍼링크
http://www.CodeHighlighter.com/--> 1 /// <summary>
///
/// </summary>
/// <param name="htmlHelper"> HtmlHelper </param>
/// <param name="title"> </param>
/// <param name="url"> </param>
/// <param name="description"> </param>
/// <returns>HTML </returns>
public static MvcHtmlString LinkWithDescription(this HtmlHelper htmlHelper, string title, string url, string description)
{
// HTML
TagBuilder titleContainer = new TagBuilder("p"); // p
TagBuilder titleLink = new TagBuilder("a"); // , a
titleLink.MergeAttribute("href", url); // a href
titleLink.SetInnerText(title); //
titleContainer.InnerHtml = titleLink.ToString(); // a p
titleContainer.AddCssClass("LinkTitle"); //
// HTML
TagBuilder descriptionContainer = new TagBuilder("p"); // p
descriptionContainer.InnerHtml = description; //
descriptionContainer.AddCssClass("LinkDescription"); //
// DIV
TagBuilder div = new TagBuilder("div");
div.InnerHtml = string.Format("{0}{1}", titleContainer.ToString(), descriptionContainer.ToString());
// HTML
return MvcHtmlString.Create(div.ToString());
}
보기 에서 호출@Html.LinkWithDescription("테스트 링크 1", "#", "이것 은 테스트 링크 1 의 설명 입 니 다")
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
JSP| 💔MVC 패턴을 이용한 게시판Model(대부분 java): DB에서 추출이나 수정하여 Controller View (대부분 JSP파일): 화면,UI Controller: 요청을 담당 시간이 없을 때, 만드는 게 급선무: 10년전, 요즘 잘 사용...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.