2014-12-26 3 views
0

하나의 GET 양식을 제출하는 검색 패널 하나가있는 페이지 목록을 구현하고 있습니다.MVC로드 값을 get submited as

필드 이름을 검색 할 필드가 하나 있는데, @Html.TextBox으로 만들고, 나머지 두 필드는 나를 위해 만들어졌습니다.

문제는 결과를 표시하기 위해 양식을 다시로드하고 페이지를 다시로드 할 때 value 매개 변수에 값을 설정하지 않은 경우에도 값을 다시로드하는 유일한 필드는 @Html.TextBox입니다.

다음은 이러한 검색 필드를 구현하는 코드입니다. TextBox 확장 프로그램이이 동작을 수행하는 데 어떤 아이디어가 있습니까? 당신이이 코드 조각을 볼 수 Html.TextBox 확장에 의해 사용되는 input 요소를 생성하는 코드로 보면

@Html.TextBox("s.Name", null, new { @class = "text", @maxlength = "100" }) 
@Html.Date("s.Birthdate", null, new { @class = "datetime" }) 
@Html.SearchBoolean("s.IsPlayer") 

답변

0

HtmlHelpers의 소스 코드는 here

입니다 :

string attemptedValue = (string)htmlHelper.GetModelStateValue(fullName, typeof(string)); 
tagBuilder.MergeAttribute("value", attemptedValue ?? ((useViewData) ? htmlHelper.EvalString(fullName, format) : valueParameter), isExplicitValue); 

GetModelStateValue은 뷰로 전달 된 모델의 필드 값을 검색합니다. 따라서 값을 표시하지 않으려면 모델의이 필드를 null 값으로 지정해야합니다.