-1

ここで、次のコードを試しましたが、達成できません。ドロップダウン リスト SelectListItem ("objItem") のビュー ページで、以下のプロパティと値を確認できますが、リスト ボックスで "The Alchemist" が選択されていません。

ModelBindingControls.cshtml

  <div>
   @{
       List<SelectListItem> objItem = new List<SelectListItem>();
       SelectListItem selectList = null;
       foreach(var item in Model.BookName){
           selectList = new SelectListItem();
           selectList.Text = item.Books;
           selectList.Value = item.Books;
           if(item.Books == Model.AwardedBook){
               selectList.Selected = true;   
           }
           objItem.Add(selectList);
       }
  }
 @Html.DropDownListFor(x => x.BookName, objItem,"Select Book", new { @id = "ddlBookName" })
</div>

ObjItem の値は次のとおりです。

    [0] Index
    Selected =  true
    Text    =   "The Alchemist"
    Value   =   "The Alchemist"

    [1] Index
    Selected =  false
    Text    =   "The Davinci Code"  
    Value   =   "The Davinci Code"

    [2]Index
    Selected =  false
    Text    =   "The Harry Potter"  
    Value   =   "The Harry Potter"

モデル:

public class AuthorDetailsModel
{
    public List<AllBookDetails> BookName { get; set; }
    public string AwardedBook { get; set; }
}

public class AllBookDetails
{
    public string Books { get; set; }
}

コントローラ:

public ActionResult ModelBindingControls()
{
    AuthorDetailsModel objModel = new AuthorDetailsModel();          
    objModel.AwardedBook = "The Alchemist";
    List<AllBookDetails> listBookObj = new List<AllBookDetails>();
    AllBookDetails objDetails = new AllBookDetails();
    objDetails.Books = "The Alchemist";
    listBookObj.Add(objDetails);
    objDetails = new AllBookDetails();
    objDetails.Books = "The Davinci Code";
    listBookObj.Add(objDetails);
    objDetails = new AllBookDetails();
    objDetails.Books = "The Harry Potter";
    listBookObj.Add(objDetails);
    objModel.BookName = listBookObj;
    return View(objModel);
}
4

1 に答える 1

-1

BookName の代わりに、プロパティを Awarded book に変更しました。今、それは私のために働いています。

@Html.DropDownListFor(x => x.BookName, objItem,"Select Book", new { @id = "ddlBookName" }) 

私は次のように変更しました:

@Html.DropDownListFor(x => x.AwardedBook , objItem,"Select Book", new { @id = "ddlBookName" })
于 2013-08-16T04:34:30.200 に答える