2014-09-20 2 views
0

문자열을 반환하고 쉼표로 구분 된 문자열을 반환하려면 목록 상자를 가져 오려고합니다. 내 뷰 모델에서다중 선택하고 문자열 응답을 연결하는 목록 상자를 얻으려면 어떻게해야합니까? C# MVC

는 내가 가진 :

public IEnumerable<SelectListItem> XListItems 
    { 
     get 
     { 
      var list = new List<SelectListItem>(); 
      list.Add(new SelectListItem { Value = "A", Text = "A" }); 
      list.Add(new SelectListItem { Value = "B", Text = "B" }); 
      list.Add(new SelectListItem { Value = "C", Text = "C" }); 
      list.Add(new SelectListItem { Value = "D", Text = "D" }); 
      list.Add(new SelectListItem { Value = "E", Text = "E" }); 
      return list; 
     } 
    } 

내 뷰 모델도 문자열 인 AString를 포함하는 로그가 포함되어 있습니다. 내보기에서

나는이 :

@Html.ListBoxFor(model => model.log.AString, Model.XListItems, new {Multiple = "multiple"}) 

을 지금 그냥 선택한 첫 번째 항목을 반환합니다.

사용자가 여러 항목을 선택하고 "A, C, D"와 같은 문자열로 반환하도록하려면 어떻게해야합니까?

답변

0

쉼표로 구분 된 문자열을 반환하려는 이유가 확실하지 않은 경우 (구성하려면 javascript가 필요합니다). 모델 AStringstring[] AString {get; set;}으로 변경하십시오. 속성에는 선택한 값의 배열이 포함됩니다.

당신이 (POST 메서드에서) 사용 후, 해당 형식의 값을 저장해야하는 경우

var result = string.Join(",", AString); 

그리고 당신은 new {Multiple = "multiple"})를 포함 할 필요가 없습니다. 어쨌든 ListBoxFor은 해당 속성을 추가합니다.

+0

완벽하게 작동했습니다. 고맙습니다. – NerdyFool