2011-10-26 1 views
0

전적으로 MVC를 처음 사용합니다. 나는 컨트롤의 선택된 인덱스를 포함하기 위해 뷰백을 만들고 싶다. .ascx 파일에서 설정할 수 있습니까? 또는이 정보를 수집하는 가장 좋은 방법은 무엇입니까?ASP.Net MVC3 Viewbag - dropdownbox의 선택된 색인으로 설정

<select id="accounttype" style="float: left;" autocomplete="off"> 
       <% 
        if (Request.Url.AbsolutePath.ToUpper().StartsWith("/COMMERCIAL")) //Commercial 
        { 
       %> 
       <option value="C" selected="selected">eManager+</option> 
       <option value="C">Retirement Plans</option> 
       <option value="C">Brokerage Accounts</option> 
       <% 
        } 
        else if (Request.Url.AbsolutePath.ToUpper().StartsWith("/BUSINESS")) //Business 
        { 
       %> 
       <option value="B" selected="selected">eManager+</option> 
       <option value="B">Business Credit Card</option> 
       <option value="B">Retirement Plans</option> 
       <option value="B">Brokerage Accounts</option> 
       <% 
        } 
        else //Personal, root or other 
        { 
       %> 
       <option value="P" selected="selected">Online Banking</option> 
       <option value="P">Health Savings Account</option> 
       <option value="P">Paychek Plus!&reg;</option> 
       <option value="P">Gift Cards</option> 
       <option value="P">Business Tax Manager</option> 
       <option value="P">Business Card Manager</option> 
       <option value="P">Business Credit Card</option> 
       <% 
        } 
       %> 
      </select> 

답변

0

어려운 일을하고 있습니다. 컨트롤러에서이 작업을 수행 :

if (Request.Url.AbsolutePath.ToUpper().StartsWith("/COMMERCIAL")) //Commercial 
{ 
    ViewBag.ListContents = new SelectList(new[] {new {name = "eManager+", value="C"}, 
     {name = "Retirement Plans", value="C"}, 
     {name = "Brokerage Accounts", value="C"}}, "value", "name"); 
} 
// similar for your other if statements as well 

ViewBag.DropDownID = selectedvalue; 

return View(); 

를 다음보기

<% Html.DropDownListFor(m => m.DropDownID, ViewBag.ListContents); %> 

문제에, 그러나 같은 값을 가진 여러 항목이 있기 때문에, 당신은 단지 코드의 첫 번째 하나를 선택할 수 있다는 것입니다. 게시물에 고유 한 값을 부여한 다음 각 카테고리에 대해 어떤 값을 사용할지 결정하는 것이 좋습니다.

예를 들어 값을 "C1" "C2" "C3"로 설정 한 다음 문자열이 C와 같지 않고 C로 시작하는지 확인할 수 있습니다

0

거기에 양식이 있다고 가정합니다. 폼을 게시 한 후 컨트롤러의 액션 코드에 ViewBag를 설정하십시오.