2016-04-08 4 views
2

Ich bekomme Werte zu meinem Html.Dropdownlist wie unten.Wie bekomme ich das ausgewählte Element aus HTML-Dropdown-Liste und übergebe es an einen anderen Controller in mvc C#

<div class="col-md-4"> 
    <h2 style="color: #2f6207">dfdfDestination</h2> 
    @Html.DropDownList("accountID", new SelectList(ViewBag.Destination, "regCde", "Destination")) 
</div> 

@Html.ActionLink("SEARCH NOW", "MscHome") 

es funktioniert gut. jetzt möchte ich den Benutzer ausgewählten Wert erhalten und es an einen anderen Controller übergeben, wenn die Schaltfläche angeklickt (action link)

public ActionResult MscHome(string accountID) 
{ 
    ViewBag.requested = Session["search"]; 
    Thread.Sleep(10000); 
    return View(); 
} 

aber dies zeigt null Wert.

+0

Wo ist deine Schaltfläche? – Bharat

+0

Ich benutze keine Submit-Taste – bill

+0

Warum benutzt du routeurl nicht? – Bharat

Antwort

0

Eine Möglichkeit, dies zu erreichen, besteht darin, den gleichen Controller zuerst zu erreichen, den Wert aus dem Dropdown zu erhalten und dann zu einem zweiten Controller umzuleiten, der den Wert als Parameter übergibt. Verwenden Sie RedirectToAction und entweder TempData oder legen Sie den Wert als Argument im Aufruf fest.

Wenn Sie nur eine von einem anderen Controller verwendete Ansicht zurückgeben, könnte dies in einigen Fällen in Ordnung sein. Wenn die Ansicht jedoch mit Code initialisiert werden muss, der sich auf einem anderen Controller befindet, wird eine leere Ansicht geöffnet. Das verhindert RedirectToAction.

Verwandte Themen