2011-08-17 6 views
1

Html.LabelFor (...)를 사용하여 정적을 생성합니다. JQuery를 사용하여 레이블의 Name 속성을 동적으로 설정해야합니다.MVC 3에서 레이블의 CSS 속성을 설정하는 방법

+2

'

+0

@Aaronaught : 금융 프로젝트를위한 복잡한 모델을 만들고 있습니다. http://www.google.com/finance/stockscreener에서 더 좋은 아이디어를 얻을 수 있습니다. 기준 섹션을 찾아 새로운 기준을 추가하십시오. 첫 번째 기본 매개 변수 인 Market Cap을 살펴보십시오. 테이블에 빈 행을 만들고 jquery를 사용하여 해당 행의 해당 컨트롤에 대한 내용을 설정합니다. TextBox에는 내용을 설정할 수 있지만 레이블에는 설정할 수 없습니다. – IrfanRaza

답변

4

당신은 동시에, labelFor

<%: Html.LabelFor(model=>model.Title, 
          new { style="xyz", @class="abc", @name="MyTitle" }) %> 
의 오버로드 중 하나에서 제공하는 htmlAttributes 매개 변수를 사용하여 CSS 클래스를 설정하고, 인라인 스타일과 다른 속성 (이름과 같은 심지어 존재하지 않는 것)을 설정할 수 있습니다

이 같은 라벨 뭔가를 만들 것입니다 :

<label for="Title" style="xyz" class="abc" name="MyTitle">Title</label> 

클래스 전 @ 이유, "클래스"C#에서 예약어, 그래서 당신은 ...로서 필요가있다 @ 기호를 사용하여 그것을 lify하십시오.

+0

James에게 감사하지만 두 번째 매개 변수는 텍스트입니다. 나는 이미 이것을 시도했지만 잘못되었다. htmlAttributes는 텍스트 상자에는 적용 할 수 있지만 레이블에는 적용 할 수 없습니다. – IrfanRaza

+1

MVC3에는이 오버로드가 포함되어 있지 않습니다. 이 응답은 확장 메서드로 필요한 오버로드를 추가하는 방법을 설명합니다. http://stackoverflow.com/a/9885580/1617125 – Andrea

0

귀하의 질문과 의견을 함께 이해하면 레이블을 변경하려고합니다. MVC LabelFor은 HTML <label>으로 바뀌며 텍스트 상자와 같은 속성은 없습니다.

JS/jQuery로 변경해야하는 경우 ID를 부여하고 html 메소드를 사용하십시오.

마크 업 :

@Html.LabelFor(m => m.Something, new { id = "somethingLabel" }) 
@Html.TextBoxFor(m => m.Something) 

jQuery를 :

$("#somethingLabel").html("New Label Text"); 

또한 text 대신 html 사용할 수 있습니다 -의 차이는 입력을 탈출 단지이다.

관련 문제