2014-06-20 2 views
7

knockoutjs 드롭 다운 목록에 문제가 있습니다. MVC 5 응용 프로그램에 녹아웃에서 바인딩 된 내 면도기보기가 있습니다.녹아웃 드롭 다운 목록 MVC5의 모델로 전달합니다.

<select name="alddlname" id="alddl" 
    data-bind=" 
     options: authorityLevel, 
     optionsText: 'AuthorityLevel', 
     optionsValue: 'aid', 
     value: aid 
    "> 
</select> 

내가 사용 선택한 항목에 연결하고 모델 속성에 전달할 것

public List<authorityLevel> authLevellistItems { get; set; } 
public string SelectedAuthType { get; set; } 

그 selectedAuthType은 다음 값으로 설정됩니다 그래서 드롭 다운 목록에 모델을 결합하고 싶습니다 A의 당신을

드롭 다운이

var authorityLevelList = Html.Raw(JsonConvert.SerializeObject(ViewBag.authorityLevelDDL)); 

$(document).ready(function() 
{ 
    var vm = new AppViewModel();    
    vm.authorityLevel = ko.mapping.fromJS(@authorityLevelList); 
    ko.applyBindings(vm); 
}); 

와 녹아웃에서 poppulated됩니다 감사합니다 내가 내 데이터 내가 녹아웃 JSON 배열 객체에 의해 채워지는 드롭 다운 목록을 녹아웃에서 속성을 결합 여전히 @html.DropDownListFor 도우미를 사용하면 내가

그것을 알아 낸 있도록

+0

문제의 세부 정보가 담긴 코드를 더 많이 표시하거나 JSFiddle에서 문제의 예를 만드십시오. 충분한 정보가 여기에 없습니다. – Tanner

+0

추가 C# 코드로 편집 됨 –

답변

6

OK dvance, 그러나 또한이 바인딩 MVC 5 모델을 컨트롤러로 다시 전달하여 데이터베이스에 삽입 할 수 있습니다.

// data_bind 부분은 나머지는 면도기 C#보기 도우미 희망

@Html.DropDownListFor(m => m.SelectedAuthType, 
     (SelectList)Model.authlevellistItems, 
new { id = "alddl", data_bind = " options: authorityLevel, optionsText: 'AuthorityLevel', optionsValue: 'aid'" }) 

이 다른 사람을 도움이 될 것입니다에게있는 knockout.js 부분이며, 내 질문은 단지 시간 낭비하지 않았다. 감사의 말

+0

비어있는 selectList가 기억 나십니까? 이것은'(SelectList) .Model.authlevellistItems' 대신'new List ()'을 사용하여 저에게 효과적이었습니다. MVC를 통해 한 번 바인딩하고 예제를 통해 녹아웃으로 다시 바인딩하는 것처럼 보입니다. 나 맞아? 비난하지 말고 이해를 얻으려고 노력하는 것뿐입니다. 덕분에 –

+0

지금까지 내가 기억하는 한 - 잠시 동안 - 나는 MVC 모델에 바인딩 된 다음면 모든 knockout과 json을 통해 모든 비동기와 거래 후 면도기 구문을 사용했다 - 아마 면도칼을 사용하여 녹아웃과 바인딩 할 수 있습니다 비동기로 잘로드 –