2014-10-10 3 views
0

SQL 데이터베이스의 언어를 표시하는보기 레이아웃 페이지에 다음 DropDownList가 있습니다. 드롭 다운 목록의 선택된 항목을 페이지 현재 culture (originalCulture)로 지정합니다. 어떻게해야합니까?면도기보기 페이지에서 DropDownList 선택된 값

예를 들어 페이지 현재 culture (originalCulture = "en")가 (item.language_UI = "en")과 같으면 선택한 DDL 항목은 영어 (item.language) 여야합니다. 나는 그것이 쉽다는 것을 그러나 나는 면도칼 부호에 익숙하지 않다는 것을 알고있다. 누군가 도울 수 있습니까?

@Html.DropDownList("lang", languagedropdownlistdata 
<input type="submit" value="Select" /> 

답변

2

그것은 정말 "면도기"코드되지 않습니다 : 여기

@{ 
var db = Database.Open("DefaultConnection"); 
var listLanguage = "SELECT language, language_UI FROM Languages"; 
var originalCulture = Convert.ToString(System.Globalization.CultureInfo.CurrentCulture.TwoLetterISOLanguageName); 

List<SelectListItem> languagedropdownlistdata = new List<SelectListItem>(); 
bool isSelected = false; 
foreach (var item in db.Query(listLanguage)) 
{ 
    languagedropdownlistdata.Add(new SelectListItem 
    { 
     Text = item.language, 
     Value = item.language_UI, 
     Selected = isSelected 
    }); 
} 

} 

그리고

는 콘텐츠 페이지에있는 DropDownList입니다. 대부분 C#입니다.

isSelected 변수는 항상 false 인 것 같습니다. 다음과 같은에 루프 본문을 변경해야 다음 language_UI 때에 프로퍼티가 originalCulture으로 정확히 같은 문자열을 포함하는 경우에만

foreach (var item in db.Query(listLanguage)) 
{ 
    languagedropdownlistdata.Add(new SelectListItem 
    { 
     Text = item.language, 
     Value = item.language_UI, 
     Selected = (item.language_UI == originalCulture) 
    }); 
} 

(item.language_UI == originalCulture) 사실이 될 것이다, 그러므로 코드가 제대로 작동합니다.

+1

완벽한 ..... 이제 코드가 잘 작동합니다. 감사! – Gloria

관련 문제