0

我创建了一个名为 post 的部分控制器,它工作正常。现在我想通过模式弹出从主页索引调用它。这是我的代码层次结构(如果重要的话)

View
  Account 
  Home
      - Index
  Post
      - Index

主页/索引视图

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


<script type="text/javascript">
    $(function () {
        $('.popupLink').click(function () {
            $('<div id="popupfooterdiv"/>').appendTo('body').dialog({
                close: function (event, ui) {
                    dialog.remove();
                },
                modal: false,
                draggable: false,
                width: 500,
                height: 400,
                resizable: false,
            }).load(this.href, {});
            return false;
        });
    });
</script>

@Html.ActionLink("Open Pop Up", "Home", "actionName",  new {@class="popupLink"})

家庭控制器

       [HttpPost]
    public ActionResult actionName()
    {
        return PartialView("Post");
    }

当我单击它时,它会将我重定向到一个错误页面,并显示以下错误

  Server Error in '/' Application.

The resource cannot be found.

Description: HTTP 404. The resource you are looking for (or one of its dependencies) could have been removed, had its name changed, or is temporarily unavailable.  Please review the following URL and make sure that it is spelled correctly. 

Requested URL: /Home/Home

我的网址也更改为

http://localhost:2654/Home/Home?Length=10

我哪里错了?而且,当用户从发布索引视图保存数据时,如何关闭此弹出窗口。

4

2 回答 2

0

我敢打赌,您需要HttpGet在您的方法中为局部视图指定属性。

于 2014-04-21T01:22:26.863 回答
0

问题似乎是这一行:

@Html.ActionLink("Open Pop Up", "Home", "actionName", new {@class="popupLink"})

请尝试以下操作:

@Html.ActionLink("Open Pop Up", "actionName", "Home", null, new {@class="popupLink"})

或者这个,使用命名参数:

@Html.ActionLink(linkText: "Open Pop Up", actionName: "actionName", controllerName: "Home", routeValues: null, htmlAttributes: new { @class = "popupLink" })

ActionLink助手有 10 个重载,主要是不同的String参数组合object。因此,您必须小心如何调用才能获得您真正想要的。

如果您查看相关行生成的 HTML: 我认为您会发现它的 href 将是http://localhost:2654/Home/Home?Length=10. 我会说它正在调用此 ActionLink 方法重载,并使用"Home"actionName 的值,并尝试最好使用"actionName"(10 个字符长度)作为查询参数。

于 2014-04-21T00:51:40.967 回答