Asp.net mvc 如何在MVC中从formcollection对象检索文本
formcollection对象中的值存储为键值对。但是,假设有人使用“Id”作为值,“Name”作为文本来填充dropdownlist。在这种情况下,如何使用formcollection对象从dropdownlist访问“名称” 要访问所选值,我知道以下代码:Asp.net mvc 如何在MVC中从formcollection对象检索文本,asp.net-mvc,Asp.net Mvc,formcollection对象中的值存储为键值对。但是,假设有人使用“Id”作为值,“Name”作为文本来填充dropdownlist。在这种情况下,如何使用formcollection对象从dropdownlist访问“名称” 要访问所选值,我知道以下代码: public ActionResult ActionName(FormCollection formcollection) { var value = formcollection["dropdownlistName"]; }
public ActionResult ActionName(FormCollection formcollection)
{
var value = formcollection["dropdownlistName"];
}
上面的代码将给出值“Id”,但如果我需要检索“Name”并将其存储在变量中,该怎么办
我是个新手;如果有人知道,请帮忙。谢谢你的帮助。谢谢。您无法将下拉列表文本发布到服务器,只能发送值。这里有一些解决方法——您可以手动发布数据并添加下拉文本。但是正确的方法是首先从您填写下拉列表的源中引用
id
例如:
如果您有这样的下拉列表:
<form id="someForm">
<select id="country" name="countryddl">
<option value="1">US</option>
<option value="2">UK</option>
</select>
<input type="submit" value="submit"/>
</form>
var countryName = formcollection["countryName"];
解决方法
如果绝对必须在表单中发送文本,则可以覆盖表单提交时的默认行为,并将下拉文本与值一起发布:
$("#btnSubmit").click(function(e){
e.preventDefault();
var selectedOption = $("#CountryId option:selected").text();
// Add the selected drop down text to a hidden field
$("<input/>",{type:'hidden',name:'countryName'}).val(selectedOption).appendTo("#someForm");
// now post the form
$("#someForm").submit();
});
解决方法是否是一种不太理想的方法?若然,原因为何?
var countryName = formcollection["countryName"];