2016-08-23 10 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> 

по выбору пункта выпадающего я хочу назвать свой метод действия с выбранным ценностноКак вызвать метод действий по выбору выпадающего списка, используя вид бритвы

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

    return View("Index", searchUserResponse); 
} 

В настоящее время на смену выбора выпадающий я не могу для вызова метода действий.

+1

Вы уже используете JavaScript (как вы думаете, 'onclick' есть) –

+1

AFAIK, выберите элемент не сможет вызвать любой метод действий непосредственно без триггера событий, вам необходимо установить OnChange события на JS/jQuery и передать измененное значение, чтобы передать его как значение параметра на стороне контроллера. –

ответ

1

onclick не будет работать над вариантом. Что вы можете сделать, это выполнить код javascript для перенаправления на событие onchange элемента SELECT.

<select id="TypeOfUser" name="typeOfUser" class="active text-normal" 
             onchange="doIt(this,'@Url.Action("Index", "User")')"> 
    <option value="2" >CMS Users</option> 
    <option value="3">Site Users</option> 
</select> 

Предполагая, что у вас есть метод javascript, который имеет 2 параметра. Первый параметр - это ссылка на элемент SELECT, в котором произошло событие onchange. Таким образом, вы можете получить доступ к свойству value, чтобы получить значение выбранного параметра.

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