MVC의 HTML 도우미로 생성된 HTML 요소에 클래스 특성을 어떻게 추가할 수 있나요?

StackOverflow https://stackoverflow.com/questions/879266

  •  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 클래스는 거의 필요하지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top