问题描述
这是查看部分的代码:
<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"];