2012-03-31 18 views
1

私のコードに問題があります。さて、私はASPxのWebページを持っています。今すぐ私は(コントローラを介して)モデルからSQL Serverによって満たされるボックスをドロップダウンしている。以下のようなボタンとドロップダウンリストを追加しました。MVC aspx Webページをドロップダウンリストから更新しています

ドロップダウンリストから選択した値をコントローラに返すことができません。

<% = Html.DropDownList("Books") %> 
<input type = "submit" value = "Update"/> 

<h1> <%=TempData["BookName"]%> </h1> 

はコントローラー:すべてのヘルプは素晴らしい

見るだろう

public ActionResult Index(string bookName) 
{ 
    ViewData["BookName"] = new SelectList(_context.BookName.Select(a =>a.Book_Name).Distinct()); 

if (!string.IsNullOrWhiteSpace(bookName)) 
{ 
    ViewData["Books"] = _context.BookName.Where(b => b.Book_Name == bookName).ToList(); 
    UpdateBookNameTitle(bookName); 
    } 
    return View(); 
} 

public ActionResult UpdateBookNameTitle(string bookName) 
{ 
    TempData["BookName"] = bookName; 
    return View("Home2"); 


} 

答えて

2

あなたがドロップダウンリストとボタンをフォームに(ビュー)ラップする必要があります。 MVCはbookNameアクションパラメータに選択された値をマッピングすることができるようにまた、「bookName」にあるドロップダウンの名前を変更します。

<% using(Html.BeginForm("Index", "Home")) { %> 
    <%= Html.DropDownList("bookName") %> 
    <input type="submit" value="Update"/> 
<% } %> 

HTMLせずに送信ボタンをサーバーにPOSTリクエストを行うことはありません形成します。

+0

どのようにドロップダウンの名前を変更しますか? – user990951

+0

上記の例でも変更されています。 'Html.DropDownList'メソッドは文字列パラメータを受け取り、ドロップダウンの名前を定義します。 – whyleee

+0

THANKKKK YOUUUUは3時間のグーグルであった – user990951

関連する問題