繁体   English   中英

如何在asp.net mvc3中获取下拉列表的选定值?

[英]how to get selected value of drop down list in asp.net mvc3?

这是我的代码在asp.net MVC3中将数据库中的数据显示到DropDownList中,现在我可以将数据库中的数据显示到dropdownlist中,但是现在我希望,如果我从dropdownlist数据中选择任何东西,我希望该选定值在我的存储过程中传递。 我知道可能有相同的问题,或者已经有人问过,但是我没有得到想要的答案。 如果有人可以逐步向我解释或提供一些有用的链接。

此代码尚未完全测试和实现。

您可以使用dropdownlist onchange事件来实现它。

@Html.DropDownListFor(x => x.SelectedItemValue,new {@onchange="passvalue(this);"})

使用javascript和ajax处理它

<script type="text/javascript">
  function passvalue(e){
      $.ajax({
         type: 'POST',
         dataType: 'json',
         url: '@Url.Action("Index", "Home")',
         data: ({ selectedValue: e.innerHTML }),
         success: function (result) {
                                    },
         error: function (result) {
                    alert('error');
                }
      });
  }
  </script>

现在您可以将选择的值发送给控制器

[HttpPost]
public ActionResult Index(int selectedValue)
{
   // do whatever you want with `selectedValue`
}

希望能帮助到你

这是一种实现此目的的方法:

订阅下拉列表的change事件,并调用将所选值传递到存储过程的action方法(例如,使用ajax )。

有几种方法。 最简单的方法之一是拥有一个ViewModel,其中包含要在下拉列表中呈现的SelectListItems集合,以及一个要进行选择的项目。 在下面的示例代码中,我当然使用了硬编码的值等来演示这一点!

视图模型

public class TestViewModel
{
    public IEnumerable<SelectListItem> TestListItems
    {
        get
        {
            return new List<SelectListItem>
            {
                new SelectListItem { Text = "Item 1", Value = "1" },
                new SelectListItem { Text = "Item 1", Value = "1" },
                new SelectListItem { Text = "Item 1", Value = "1" },
            };
        }
    }

    public string SelectedItemValue { get; set; }
}

视图

<p>@Html.DropDownListFor(x => x.SelectedItemValue, new SelectList(Model.TestListItems, "Value", "Text"))</p>

控制者

public ActionResult Index()
{
    var viewModel = new TestViewModel();
    return View(viewModel);
}

[HttpPost]
public ActionResult Index(TestViewModel viewModel)
{
    string youChose = viewModel.SelectedItemValue;
    // ...
}

另外,要突出显示该集合,不必一定是SelectListItem而可以是另一种类型。 然后,您所需要做的就是更改视图以执行.Select转换为SelectListItem 为简单起见,我只使ViewModel直接使用它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM