使用@ Ajax.ActionLink弹出表单

时间:2012-02-16 12:46:10

标签: asp.net-mvc asp.net-mvc-3 model-view-controller asp.net-mvc-ajax

我想使用@ Ajax.ActionLink弹出一个表单,所以我在我的cshtml页面中这样做了:

   @Ajax.ActionLink("click ", "AddToMembers", new AjaxOptions { HttpMethod = "GET", UpdateTargetId = "result", InsertionMode = InsertionMode.Replace, OnSuccess = "openPopup" })
   <div id="result" style="display:none;"></div>

并添加此脚本:

      <script type="text/javascript">
          $(document).ready(function () {
              $("#result").dialog({
                  autoOpen: false,
                  title: 'Title',
                  width: 500,
                  height: 'auto',
                  modal: true
              });
          });
          function openPopup() {
              $("#result").dialog("open");
          }
</script>

在我的控制器中添加了这个功能:

 [HttpGet]
    public PartialViewResult AddToMembers()
    {
        return PartialView();
    }

但是当我点击表单中的“点击”时,新页面会在浏览器中打开。不在我的弹出窗体中 有什么问题 ???

1 个答案:

答案 0 :(得分:7)

我怀疑您忘记将以下脚本包含在您的页面中:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

此脚本用于AJAXify Ajax.ActionLink帮助程序生成的锚点。另外你还在使用jQuery对话框,确保你引用了jQuery UI:

<script src="@Url.Content("~/Scripts/jquery-ui-1.8.11.js")" type="text/javascript"></script>