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

如何在MVC中的控制器中获取DropDownList SelectedValue

如何解决如何在MVC中的控制器中获取DropDownList SelectedValue

第一种方法(通过Request或FormCollection):

您可以阅读Request使用Request.Form,你的下拉名字是ddlvendor这样传递ddlvendor的关键在的FormCollection获得由形式公布了其价值:

string strDDLValue = Request.Form["ddlvendor"].ToString();

或使用FormCollection

[HttpPost]
public ActionResult ShowAllMobileDetails(Mobileviewmodel MV,FormCollection form)
{           
  string strDDLValue = form["ddlvendor"].ToString();

  return View(MV);
}

第二种方法(通过模型):

如果要使用模型绑定,请在模型中添加一个属性

public class Mobileviewmodel 
{          
    public List<tbInsertMobile> MobileList;
    public SelectList vendor { get; set; }
    public string Selectedvendor {get;set;}
}

并在视图中:

@Html.DropDownListFor(m=>m.Selectedvendor , Model.vendor, "Select Manufacurer")

并在行动中:

[HttpPost]
public ActionResult ShowAllMobileDetails(Mobileviewmodel MV)
{           
   string SelectedValue = MV.Selectedvendor;
   return View(MV);
}

更新:

如果您还想发布所选项目的文本,则必须添加一个隐藏字段,然后在下拉选择更改中在隐藏字段中设置所选项目的文本:

public class Mobileviewmodel 
{          
    public List<tbInsertMobile> MobileList;
    public SelectList vendor { get; set; }
    public string Selectvendor {get;set;}
    public string SelectedvendorText { get; set; }
}

使用jquery设置隐藏字段:

<script type="text/javascript">
$(function(){
$("#Selectedvendor").on("change", function {
   $("#SelectedvendorText").val($(this).text());
 });
});
</script>

@Html.DropDownListFor(m=>m.Selectedvendor , Model.vendor, "Select Manufacurer")
@Html.HiddenFor(m=>m.SelectedvendorText)

解决方法

我有下拉列表,我已经从数据库中填写了。现在,我需要在Controller中获取选定的值,然后进行一些操作。但是没有主意。我尝试过的代码。

模型

public class MobileViewModel 
{          
    public List<tbInsertMobile> MobileList;
    public SelectList Vendor { get; set; }
}

控制者

 public ActionResult ShowAllMobileDetails()
    {
        MobileViewModel MV = new MobileViewModel();
        MV.MobileList = db.Usp_InsertUpdateDelete(null,"",null,4,MergeOption.AppendOnly).ToList();
        MV.Vendor = new SelectList(db.Usp_VendorList(),"VendorId","VendorName");
        return View(MV);
    }

    [HttpPost]
    public ActionResult ShowAllMobileDetails(MobileViewModel MV)
    {           
        string strDDLValue = ""; // Here i need the dropdownlist value

        return View(MV);
    }

视图

   <table>           
        <tr>
            <td>Mobile Manufacured</td>
            <td>@Html.DropDownList("ddlVendor",Model.Vendor,"Select Manufacurer") </td>
        </tr>         
        <tr>
            <td>

            </td>
            <td>
                <input id="Submit1" type="submit" value="search" />
            </td>
        </tr>
    </table>

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