将选定的DDL值用作actionlink的参数

时间:2012-08-21 07:34:54

标签: javascript ajax asp.net-mvc asp.net-mvc-3

我有一个带有一些下拉列表的MVC视图。在那里有一些自定义验证,在某些条件下将在下拉列表的一侧显示一个操作链接。这些操作链接将弹出一个模态窗口,其中包含与下拉列表中所做选择相关的信息。

我的问题是,我似乎可以看到如何从下拉列表中选择值并将其输入到我的ajax请求中!

这是我的代码:(下拉列表)

        <div id="holderlist">
        @Html.DropDownListFor(i => i.holderid, (SelectList)ViewData["holdersList"], "", new { @class = "chosenlist" })   
    </div>

(行动链接)

 <div id="add" style="display:none;">

    @Html.ActionLink("Actions", "existingOfficers", "Roles",
        new { id = ?????<how do I get DDL chosen ID here>  },
        new { @class = "openDialog", dialog_id = "productDetail", dialog_title = "Workflow Centre" })
    </div>

(ajax请求)

<script type="text/javascript">
$.ajaxSetup({ cache: false });

$(document).ready(function () {
    $(".openDialog").live("click", function (e) {
        e.preventDefault();
        $("<div></div>")
  .addClass("dialog")
  .attr("id", $(this).attr("dialog-id"))
  .appendTo("body")
  .dialog({
      title: $(this).attr("dialog-title"),
      close: function () { $(this).remove() },
      modal: true,
       width: 706,                 
       height: 300
  })
  .load(this.href);
    });

    $(".close").live("click", function (e) {
        e.preventDefault();
        $(this).closest(".dialog").dialog("close");
    });
});

我无法做的是将ID设置为DDL中选择的值的ID。此时DDL值不存储在数据库中,因为这实际上是一个新的输入表单。

任何帮助将不胜感激:-)

1 个答案:

答案 0 :(得分:0)

jQuery(function($) {
$('.helpButton').each(function() {  
    $.data(this, 'dialog', 
      $(this).next('.helpDialog').dialog({
        autoOpen: false,  
        modal: true,  
        title: 'Info',  
        width: 600,  
        height: 400,  
        position: [200,0],  
        draggable: false  
      })
    );  
  }).click(function() {  
      $.data(this, 'dialog').dialog('open');  
      return false;  
  });  
});  ​

You can test here