如何在Controller中获取Format DropDownListFor选定值?

时间:2013-07-23 06:28:07

标签: asp.net-mvc-3 html.dropdownlistfor

我的视图中有一个FormatDropDownListFor,就像这样

<%: Html.FormatDropDownListFor(m => m.ProductHoldTypeKey, Model.ProductHoldTypeOptions.ConvertWithSelection(Model.ProductHoldTypeKey))%>
模型中的

[DisplayName("Product Hold Type")]
[HtmlProperties(CssClass = "field-short")]
public long? ProductHoldTypeKey { get; set; }
public IList<SelectListItem> ProductHoldTypeOptions { get; set; }
控制器中的

public ActionResult GetJob()
{
  jobViewModel.ProductHoldTypeOptions = _jobService.GetProductHoldType();

  if (jobViewModel.ProductHoldTypeKey == 2)// I am getting null here
  {
            // will do some task;
  }
 }

我在ProductHoldKey中得到null,我想要在View中显示的选定值。 请有人帮助我。

我想要做的是,根据一个下拉列表的选定选项,我试图删除并在其他下拉列表中添加一个项目,如果有可能通过jQuery然后有人请让我知道一些示例代码。

2 个答案:

答案 0 :(得分:0)

您的问题和评论使您的问题的第一部分有点混乱。

与第二部分一样,即根据一个下拉列表的选定选项,删除并添加其他下拉菜单中的一项,请参阅以下代码。

您可以编写文档就绪或挂钩更改事件

HTML

<select id="abc">
    <option>One</option>
    <option>Two</option>
    <option>Three</option>
</select>
<select id="xyz">
    <option>Four</option>
    <option>Five</option>
    <option>Six</option>
</select>

的jQuery

if ($('#abc').find('option:selected').text() == "One") {
    $('#abc').find('option:selected').remove();
    $("<option>").text("Seven").appendTo("#xyz");
}

在此示例中,如果所选项目在第一个下拉列表中为One,则会将其删除,并将另一个项目Seven添加到第二个下拉列表中 见工作fiddle

答案 1 :(得分:0)

$(document).ready(function () {
    if ($("#ProductHoldTypeKey").val() == "2") {
        $('#WorkStatusKey option[value="1"]').remove();
 });   

 $("#ProductHoldTypeKey").change(function () {
    if ($("#ProductHoldTypeKey").val() == "2") {
       $('#WorkStatusKey option[value="1"]').remove(); }
    else if ($("#ProductHoldTypeKey").val() == "3") {
       $("<option value="1">OPEN</option>").appendTo("#WorkStatusKey"); }
 });