login register Sysop! about ME  

2021년 01월 08일 15시 12분 00초,     조회수 : 99
  제목 : MVC5 dropdownlist
SEQ : 34788 글쓴이 : xcode114

작성 포맷 : TEXT 모드, 자동 줄바꿈 사용

asp.net MVC5

1. 다음은 movie 를 create 하려는 페이지 모양입니다 

------------------------------ 
Title : [textbox] 
Genre : [dropdownlist] 

[Create] 
------------------------------ 

2. model : (a)(b) 필드 이름이 다름 

Movie model 
---------------- 
ID 
Title 
ReleaseDate 
Genre    <------------ (a) 
Price 


Genre model 
--------------- 
ID 
GenreName   <---------(b) 


3. 다음은 cshtml 페이지의 genre 를 표현한 2 가지 경우의  dropdownlist 입니다 

(1) @Html.DropDownListFor(model => model.Genre, new SelectList(ViewBag.list), 
"Select Genre", htmlAttributes: new { @class = "form-control" }) 

(2) @Html.DropDownListFor(model => model.Genre, new SelectList(ViewBag.list, "ID", "GenreName"),  
"Select Genre", htmlAttributes: new { @class = "form-control" }) 

4. 
다음은 Control 에서 Create 창으로 넘기는 코드 입니다. 
view 페이지의 genre dropdownlist 에서 default 를 "Comedy" 로 하고 싶습니다 
아래 1 번으로 하고, view 페이지를 위의 3-(1) 로 하면 "Comedy" 로 select 됩니다. 
아래 2 번으로 하고, view 페이지를 위의 3-(2) 로 하면 default 값, "Select Genre" 이 됩니다 
2번으로 해야 하는 경우는 어떻게 해야 할까요? 
model (=table) 에서 이름이 다를 때 (Movie.Genre, Genre.GenreName) 는 어떻게 처리해야 하는지요? 

public ActionResult Create() 
{ 
    // (1) 
    var list = new List<string>() { "Action", "Drama", "Romantic", "Comedy", "Muscial", "Other" }; 

    // (2) 
    var list = new List<Genre>() 
            { 
                new Genre() { ID = 1, GenreName = "Action"}, 
                new Genre() { ID = 2, GenreName = "Drama"}, 
                new Genre() { ID = 3, GenreName = "Romantic"}, 
                new Genre() { ID = 4, GenreName = "Comedy"}, 
                new Genre() { ID = 5, GenreName = "Musical"}, 
                new Genre() { ID = 6, GenreName = "Other"} 
            }; 

    ViewBag.list = list; 

    Movie movie = new Movie() 
    { 
        Genre = "Comedy" 
    }; 

    return View(movie); 
} 

  poporino
  2021-01-20(15:03)
캐릭 이미지
아래와 같이 만들어 주면 될 것 같아요

public class SelectedGenre
{
public int SelectedGen {get;set;}
public List<Genre> Genre {get;set;}
}

@Html.DropDownListFor(m => m.SelectedGen, new SelectList(m.Genre, "ID",
"GenreName"), "Select Genre", {@class="form-control"})



제목 작성자 날짜 조회
MVC5 dropdownlist (1) xcode114 2021-01-08 99

 
 
.NET과 Java 동영상 기반의 교육사이트

로딩 중입니다...

서버 프레임워크 지원 : NeoDEEX
based on ASP.NET 3.5
Creative Commons License
{5}
{2} 읽음   :{3} ({4})