MVC의 HTML 도우미로 생성된 HTML 요소에 클래스 특성을 어떻게 추가할 수 있나요?
-
22-08-2019 - |
문제
ASP.NET MVC는 HTML 도우미를 사용하여 HTML 요소를 생성할 수 있습니다. 예를 들어 @Html.ActionLink()
, @Html.BeginForm()
등등.
나는 익명의 개체 해당 객체를 (이 경우 네 번째) 전달합니다. htmlAttributes
매개변수를 지정하는 경우 id
요소의 경우:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { id = "MyForm"})
하지만 class
기인하다?분명히 이것은 작동하지 않습니다.
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { class = "myclass"})
내 뷰가 요청될 때 임의의 구문 오류가 발생하므로 C# 키워드를 만난 후 다른 것을 기대하기 때문입니다. class
.
나는 또한 다음을 시도했습니다.
new { _class = "myclass"}
그리고
new { class_ = "myclass"}
그러나 그들은 또한 작동하지 않았습니다. 밑줄은 대시로 대체됩니다..
나는 HTML 요소를 직접 작성하거나 양식을 <div class="myClass">
, 하지만 어떻게 해야 하는지 알고 싶습니다.
해결책
속성이있는 익명 유형 (또는 모든 유형)을 만들기 위해 예약 키워드 C#의 이름으로서, 당신은 AT 부호로 속성 이름을 선불로 만듭니다. @
:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new { @class = "myclass"})
vb.net의 경우 이 구문은 일 것입니다 도트를 사용하여 달성, .
, 그 언어에서 기본 구문입니다 모두 익명 유형:
Html.BeginForm("Foo", "Bar", FormMethod.Post, new with { .class = "myclass" })
다른 팁
CSS 개발의 현재 모범 사례는 웹 사이트 전체에 최대한 광범위하게 적용할 수 있는 수정자를 사용하여 보다 일반적인 선택기를 만드는 것입니다.나는 개별 페이지 요소에 대해 별도의 스타일을 정의하지 않으려고 노력합니다.
CSS 클래스의 목적이 <form/>
요소는 양식 내의 요소 스타일을 제어하는 것입니다. 기존 요소에 클래스 속성을 추가할 수 있습니다. <fieldset/>
ASP.NET MVC에서 생성된 웹 페이지의 모든 양식을 기본적으로 캡슐화하는 요소입니다.양식의 CSS 클래스는 거의 필요하지 않습니다.