【问题标题】:Closing Modal as cshtml page properly正确关闭模态作为cshtml页面
【发布时间】:2015-09-30 11:19:35
【问题描述】:

如果我按下 x 按钮,我会尝试正确关闭模式。

起初我尝试在 index.cshtml 主页面中执行此操作

<div class="modal fade" id="myModal" role="dialog">
     <div class="modal-dialog">
           @Html.Partial("Create")
     </div>
</div>

在我的创建页面中关闭模式时,我有这个

<button type="button" class="close" data-dismiss="modal">&times;</button>

模态框正常关闭,但这是主屏幕的弹出窗口。

虽然它在技术上可行,但我希望屏幕更大一些。所以我尝试在 index.cshtml 页面中这样做。

@Html.ActionLink("Create new link", "Create") 

创建屏幕仍然具有与“modal-content”内联类相同的设计,但关闭按钮似乎不起作用。我不确定是不是因为 ActionLink 部分将其视为一个全新的页面,因为我在网上查看的大多数链接似乎都包含“data-dismiss="modal"" 部分并且一切都很好。

如果我执行另一个操作链接返回到完全刷新页面的主页,这不是我想要的,因为它会刷新用户当前拥有的数据。下拉列表,查询结果和过滤完成。

有没有办法将模态页面正确地视为 cshtml 页面,以便我可以在不完全刷新整个页面的情况下关闭它?还是我以错误的方式解决这个问题。

【问题讨论】:

    标签: asp.net-mvc-4 razor modal-dialog


    【解决方案1】:

    使用Html.ActionLink,实际上只是将静态a 标记放到页面上。当您单击它时,整个浏览器视图将更改为新 URL。在这种情况下,“关闭模态”是没有意义的,因为没有模态。您只是显示来自某个操作的响应,而该操作恰好是部分视图的内容。

    【讨论】:

    • 嗯,有趣。这就是我最初的想法,但并不完全确定。因此,拥有“部分”部分并没有更改为新的 url,而是拥有部分视图?我的意思是我想这是有道理的,因为它是“部分的”
    • 是的,它让许多刚接触 MVC 的开发人员感到困惑。如需更深入地了解视图、布局和局部视图之间的关系,请参阅:cpratt.co/theres-no-such-thing-as-a-partial-view-client-side。 TL;DR:只有部分被用作部分(Html.Partialreturn PartialView())时,部分才是部分。
    • 其实这里有一个更好的链接,虽然第一个可能对你还是有帮助的:cpratt.co/how-to-change-the-default-asp-net-mvc-themet/…
    猜你喜欢
    • 2014-02-09
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-05-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多