2016-08-23 2 views
0
<select id="TypeOfUser" name="typeOfUser" class="active text-normal"> 
    <option value="2" onclick="location.href='@(Url.Action("Index", "User", new { typeOfUser = 2}))'">CMS Users</option> 
    <option value="3" onclick="location.href='@(Url.Action("Index", "User", new { typeOfUser = 3}))'">Site Users</option> 
</select> 

zur Auswahl des Drop-Down-Artikels mit Ich mag meine Aktionsmethode nennen ausgewählt wert-Wie Aktionsmethode zur Auswahl der Dropdown-Liste aufrufen Ansicht Rasiermesser

public async Task<IActionResult> Index([FromQuery] int typeOfUser = 2) 
{ 
    SearchUsersResponse searchUserResponse = await new SearchUsersHandler(_db).Handle(new SearchUsersCommandAsync 
    { 
     Type = typeOfUser 
    }); 

    return View("Index", searchUserResponse); 
} 

Derzeit auf Änderung Drop-Down-Auswahl, die ich nicht in der Lage bin Aktionsmethode aufrufen.

+1

Sie sind bereits mit Hilfe von JavaScript (was denken Sie 'onclick' ist) –

+1

AFAIK, wählen Sie Element ruft der Lage sein, jede Handlung Methode selbst nicht ohne ein Ereignis auslösen, müssen Sie OnChange-Ereignis von JS einstellen/jQuery und übergibt den geänderten Wert, um ihn als Parameterwert auf der Controllerseite zu übergeben. –

Antwort

1

onclick wird nicht mit der Option arbeiten. Was Sie tun können, ist Ihren JavaScript-Code zum Umleiten auf das Ereignis onchange des SELECT-Elements ausführen.

Angenommen, Sie haben eine Javascript-Methode mit 2 Parametern. Der erste Parameter ist ein Verweis auf das SELECT-Element, auf dem das Onchange-Ereignis aufgetreten ist. Sie können also auf die value-Eigenschaft zugreifen, um den Wert der ausgewählten Option abzurufen.

function doIt(item,baseUrl) { 
     window.location.href = baseUrl + '?typeOfUser=' + item.value; 
} 
Verwandte Themen