微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

从控制器获取选择选项值:ASP.NET MVC

如何解决从控制器获取选择选项值:ASP.NET MVC

这是查看部分的代码

<select name="country">
    <option value="0">Select</option>
    @foreach (var country in countries)
    {
        <option value="@country.CountryId"> @country.CountryName</option>
    }
 </select>

从控制器获取值的代码

public ActionResult IndexPost()
{
    ViewBag.Countries = CountryRepository.GetCountries();

    if (Request["btnSubmitCountry"] != null)
    {
        string country = Request["country"];
        ViewBag.Msg = "You have selected " + country;
    }
    return View();
   

我也想请求获取国家名称的值,但现在它只获取 id。你能帮我用这个方法获取 id 和 name 吗?

解决方法

因为select返回的是value的值,但是可以使用隐藏标签来存储文本值。

例如:

  <form onsubmit="var sel=document.getElementById('country');document.getElementById('country_text').value=sel.options[sel.selectedIndex].text;">
    <select name="country" id="country">
            <option value="0">Select</option>
            @foreach (var country in countries)
            {
                <option value="@country.CountryId"> @country.CountryName</option>
            }
    </select>
    <input type="hidden" name="country_text" id="country_text" />
  </form>

获取文本:

string countryText = Request["country_text"];

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。