需要从DropDownListFor asp.net mvc获取价值

时间:2017-07-07 15:18:26

标签: c# asp.net asp.net-mvc combobox

我在视野中有组合框,我需要在组合框中获得选择值。

代码视图:

@Html.DropDownListFor(model => model.servicesModel, (SelectList)ViewBag.serviceNames, new { @id = "listNames" })

在组合框中添加值的代码操作(我知道,我在创建表时错过了数据库中的符号):

var servicesDetails = dbModel.SERVICES.ToList();

        ViewBag.serviceNames = new SelectList(servicesDetails, "iIdSevices", "vName");

我有表单,按下按钮,然后感谢@using (Html.BeginForm("SendApplication", "Home", FormMethod.Post))我将数据发送到我的actionResult。

我的ActionResult:

 [HttpPost]
    public ActionResult SendApplication(App_AppTemp_Serv_PersInfModel appFile, int iIdServices)
    {           
        int iIdService = 0;            

        var serviceDetails = dbModel.SERVICES.Where(x => x.iIdSevices == iIdServices).FirstOrDefault();
        iIdService = serviceDetails.iIdSevices;

        if (bFile == true)
        {
            appFile.appModel.vFile = "Приклепленные файлы имеются";
        }
        else
        {
            appFile.appModel.vFile = "Приклепленных файлов нет";
        }            

        appFile.appModel.vDate = Convert.ToString(DateTime.Now);

        try
        {
            dbModel.APPLICATIONS.Add(appFile.appModel);
            dbModel.SaveChanges();
            ModelState.Clear();
        }
        catch (Exception exc)
        {
            ViewBag.sErrorMessage = exc.Message;               
        }

        return View("~/Views/Home/ProblemForm.cshtml", appFile);
    }

但我无法从组合框中获取数据,我不知道怎么做?!也许使用类并获得类值,任何人都有这个想法吗?

1 个答案:

答案 0 :(得分:0)

您好,您可以使用该控件的名称从下拉列表中获取数据。在您的示例中,似乎model.servicesModel将是下拉列表的名称。所以在你的控制器中使用该属性获取数据。

for ex:假设App_AppTemp_Serv_PersInfModel是您的模型,如果不是,请相应更改

[HttpPost]
    public ActionResult SendApplication(App_AppTemp_Serv_PersInfModel appFile, int iIdServices)
    {  

            //dropdownlist selected value

            string selectedvalue =   appFile.servicesModel

           //other code
}

希望它有用

由于

KARTHIK