2012-11-22 2 views
1

새 문제를 발견하여 새 게시물을 작성하고 있습니다. 내가 좋아하는 TextBoxFor 외부 넣을 경우 면도기 엔진은 내가 ViewBag.user.UserName이면도기가 Html.TextBoxFor 내 ViewBag를 이해하지 못함 @ 접두사 유무와 관계 없음

<td>@Html.TextBoxFor(m => m.UserName, new { @class = "validate[required]", disabled = "disabled", value = @ViewBag.user.UserName }) @Html.ValidationMessage("usernameVal", "*")</td> 

이제 내 화면에 인쇄되는하지는이 코드를 사용하여 ..

나 오늘 내 작품을 완성 도움이되지 않는다 그 :

@ViewBag.user.UserName 

나는 사용자 이름을 얻는다.

면도기는 그런 상황을 감지 할 정도로 똑똑하다고 생각 했습니까?

+0

오류 메시지를 추가 할 수 있습니까? 그것은 우리가 문제의 범위를 좁히는 데 도움이 될 것입니다. – tristankoffee

+0

'ViewBag' 앞에 @를 생략하면 왜 서버 측 코드의 일부가 되었습니까? 그리고 만약'@ class'가 문제라면, 그 전에'ViewBag'을 넣으십시오 ... –

+0

@ Html.TextBoxFor (m => m.UserName, new {disabled = "disabled", value = (with 또는 withou @) ViewBag .user.UserName}) - 이것도 작동하지 않습니다! 또한 시도 : (문자열) ViewBag.user.UserName –

답변

0

당신이 모델 값을 사용하여 설정하는 atribute 값을 설정하려고하기 때문에 생각합니다.

당신은 그러나 도우미 호출하기 전에 코드 블록을 사용하여 뷰의 가방에서 하나 모델 값을 업데이트 할 수 있습니다 :

@{ 
    Model.UserName = ViewBag.user.UserName; 
} 
<td>@Html.TextBoxFor(m => m.UserName, new { @class = "validate[required]", disabled = "disabled" }) @Html.ValidationMessage("usernameVal", "*")</td> 

을 왜 당신은 대신 모델에 이미 값을 갖는의 일을 할 것입니다 ?

+0

것은 내 컨트롤러에서 이것을 구현하는 방법을 잘 모르겠습니다. 그게 내가이 못생긴 방식으로 이러는 방식이야! 당신이 나를 도울 수? –

+0

뷰 백에서 채우려는 작업을 알지 못하지만 컨트롤러에서 뷰 모델을 채우기 위해 동일한 작업을 수행 할 수 있습니까? Principal \ Identity 개체에서 가져온 경우 모델에 읽기 전용 속성 (설정 없음)을 만들 수 있습니까? –

관련 문제