2012-06-29 3 views
-4

HTML 도우미를 사용하여 만든보기의 텍스트 상자 필드를 고려하십시오. 내 모델에서 내가 (null이 아닌) 어떤 값을 전달하는 경우이 경우 ViewBag를 사용하는 MVC3의 텍스트 상자 값

@Html.TextBoxFor(m=>m.name, new {@value=ViewBag.x}); 

은 다음 무슨 일이 내 텍스트 상자의 ViewBag.x, 또는 내 모델 객체에 통과 한 하나의 값이됩니다 ??

+2

? 어느 값이 표시됩니까? –

+0

질문 하시겠습니까? 아니면 다른 사람들의 기술을 확인하고 있습니까? –

+0

잘 모르겠 음 ... .. 지금 테스트 중입니다 ...하지만 사전에 알고 싶기 때문에 테스트하지 않아도됩니다. p –

답변

2

은 강력한 형식의 도우미 인 value 속성보다 우선합니다. ViewBag을 사용하는 경우 강력한 입력 헬퍼는 잊어 버리십시오. 당신이 경로를 이동하면, 당신은 그것을 따라야 할 것입니다 :

@Html.TextBox("x") 

x 당신이 당신의 컨트롤러 액션에 ViewBag에 박제 무언가이다 :

ViewBag.x = "foo"; 

강력한 형식의 도우미 모델로 작업이 값을 얻으려면 첫 번째 인수로 전달 된 람다 식을 사용하십시오.

그래서 제대로 일을 멀리 ViewBag을 던져 볼 모델과 강력한 형식의 도우미를 사용하려면 :

당신은 당신의 코드를 테스트 할 때 발생하는
@Htlm.TextBoxFor(model => model.X) 
+0

Model.name이 null이 아니더라도 ViewBag 속성이 사용된다는 의미입니다. –

+1

TextBoxFor를 사용하는 경우 ViewBag는 사용되지 않습니다. 내 대답에서 말했듯이 당신은'value' 속성을 무시할 수 없습니다. –

+0

thanks..that helped –