[英]How do I need to show the Selected Account in the Dropdownlist box using Asp.net mvc
[英]How do I need to get My dropdownlist box value to the controller using asp.net mvc
嗨,我认为该代码是..
<%=Html.DropDownList("ProductTemplate",new SelectList(Model.ProductTemplate,"Value","Text"))%>
我知道此下拉列表框是否介于BeginForm提交之间,我可以使用collection["ProductTemplate"];
访问Controller中的值collection["ProductTemplate"];
如果它不在我的beginForm中,我仍然可以在控制器中访问此选定的值?
谢谢
您可以使用AJAX将当前选定元素的值发送到控制器动作。 这对于jQuery来说是微不足道的:
$.post('/home/foo', { productTemplate: $('#ProductTemplate').val() }, function(data) {
alert(data.success);
});
要访问控制器操作中的选定值,只需使用一个参数:
[HttpPost]
public ActionResult Foo(string productTemplate)
{
// TODO: do something with the selected productTemplate
return Json(new { success = true });
}
如果控件不在form标记内,则不会在controller中获得其值。 解决方法可能是。
1)在表单内部创建一个隐藏字段
2)您的下拉菜单的OnChange事件将选定的值分配给隐藏字段
编辑
<%=Html.DropDownList("ProductTemplate",new SelectList(Model.ProductTemplate,"Value","Text"),new {@onchange="setVal()"})%>
.
.
<form>
.
.
<input type="hidden" id="myval" name="myval"/>
.
.
</form>
<script type="text/javascript">
function setVal()
{
$("#myval").val($("#ProductTemplate").val());
}
</script>
现在在您的控制器中,您可以将值作为collection["myval"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.