【问题标题】:Open cshtml page as a modal popup in MVC在 MVC 中将 cshtml 页面作为模式弹出窗口打开
【发布时间】:2015-04-01 10:29:01
【问题描述】:

我们需要在父屏幕中心的应用程序中以模式弹出窗口(灰色父窗口)的形式打开一个 Chart.cshtml 页面,其中一些值作为弹出窗口的输入。在弹出窗口关闭时,我们将一些值返回到父屏幕。

Chart.cshtml 目录是我的 MVC 应用程序的 Views => Home => Chart.cshtml。

请帮助我提供示例代码。这对我真的很有帮助。

谢谢,

苏菲亚

【问题讨论】:

  • 您应该为此目的使用部分视图。将 Chart.cshtml 转换为部分视图并将其添加到 Home.cshtml 中的模态弹出窗口的正文中尝试先谷歌,自己尝试一下,然后在这里询问。 .

标签: jquery asp.net-mvc-5


【解决方案1】:

MVC Return Partial View as JSON查看此帖子。您可以使用 ajax 从 Json 渲染部分视图。

创建将您的部分视图返回为 Json 的操作。当您从 ajax 调用(您的部分视图为 Json)获得响应时,您可以将其插入到父视图中您想要的位置。

【讨论】:

    【解决方案2】:

    试试这个:

    有一个div 并将其内容设置为action,这会将您的视图cshtml 作为ViewResult 返回。

    使用jQuery ui 对话框将其显示为弹出窗口

    HTML

     <div id='divHtml'/>
    

    javascript

        $(document).ready(function()
    {
                     $("#divHtml").load("Home/Chart",
                          function()
                {
                             $( "#divHtml" ).dialog({
                          modal: true,
                        buttons: {
                        Ok: function() {
                        $( this ).dialog( "close" );
                      }
                    }
    });
                     }
    );
    });
    

    这将在文档加载中打开弹出窗口。如果要在单击按钮时打开弹出窗口,请将上面的对话框代码放在按钮单击事件处理程序中。

    以下是链接:

    http://api.jquery.com/load/

    http://jqueryui.com/dialog/#modal-message

    【讨论】:

    • 文件中是否需要包含任何特殊内容才能使用它?我包含了 jQuery 1.10.2 的源 JS 文件,但它说运行时不支持命令“对话框”
    • @thnkwthprtls:您还需要包含 jQuery UI javascript 文件。从这里下载 -jqueryui.com/download
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-10
    • 2015-02-01
    • 2014-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多