Хорошо, идея в том, что пользователь щелкает раскрывающийся список в представлении, нажимает кнопку Отправить в форме, которая отправляет выбор пользователя обратно в контроллер, и отображает новое представление, указывающее c этому выбору пользователя. .
Это представление:
<form method="post">
<label for="teamList">First choose a team:</label>
<select id="teamList" name="ID">
@foreach (var item in Model)
{
<option value=@item.Id>@item.DisplayName</option>
}
</select><br />
<input type="submit" value="Get channels">
</form>
Метод post в форме будет принимать значение пользовательской опции и передавать его в контроллер с действием 'Index':
[HttpPost]
public async Task<ActionResult> Index(string ID)
{
var data = await GraphHelper.GetChannelsAsync(ID);
return View("Channels", data);
}
Теперь он отображает представление «Каналы», показанное ниже html:
<form method="post">
<label for="channelList">Now choose a channel:</label>
<select id="channelList" name="channelId">
@foreach (var item in Model)
{
<option value=@item.Id>@item.DisplayName</option>
}
</select><br />
<input type="submit" value="Create tabs">
</form>
Теперь мне нужна помощь. Мне нужно снова отправить эту форму channelList, чтобы создать вкладку с помощью Microsoft Graph API. Я бы отправил эту форму «channelList» обратно в мой контроллер со значением «channelId».
public async Task<ActionResult> SubmitChannelId()
{
//Take channelID and pass it to microsoft.graphApi function call here
return View(//with returned function call response);
}
Как я могу сделать [HttpPost] запрос на отправку в этом представлении «Каналы», если я использую тот же контроллер? Вероятно, это как-то связано с действиями или actionLinks, но я прочитал эту документацию и не смог понять этого. Могу ли я получить помощь? Спасибо!