Ext.Net和MVC - 基于条件的关闭窗口

时间:2014-05-06 12:18:31

标签: asp.net-mvc-3 ext.net

我在MVC应用程序中使用Ext.Net。在我的主页面上,我有一个Window,它根据条件启动局部视图 -

@if(Model.ShowScreen)
{        
    @(x.Window()
        .ID("myWindow")
        .Title("My Title")
        .Icon(Icon.Application)
        .Height(550)
        .Width(500)       
        .Modal(true)
        .Content(c => @Html.Partial("MyPartial", Model))
    )        
}
else
{
    // Not sure what goes here    

}

我希望如果模型中的showcreen bool为true,那么Window将显示。如果bool为false,则不应出现窗口。我能够渲染一次视图,窗口按预期显示。但是,如果我将bool更改为false并尝试重新呈现页面,则窗口仍然会出现 我已经逐步完成并验证正在传递的bool值是否正确,并且它进入语句的else部分,但窗口仍然呈现(或者仍然保留在前一次渲染的DOM中)。

这是我对部分的控制器操作 -

[HttpPost]
        public ActionResult MyPartial(MyViewModel model)
        {
            return RedirectToAction("Index", new { @id = model.myId });            
        }

有没有人知道为了让Window不能渲染/关闭我必须做什么?

我尝试使用javascript / jquery关闭窗口,但没有运气。

如果需要更多代码,请告诉我,我可以相应地发布。

由于

1 个答案:

答案 0 :(得分:0)

“重新渲染页面”到底是什么意思?重新加载页面?我尝试了你的代码片段,在将ShowScreen更改为false并重新加载页面后,没有窗口出现。

如果您尝试使用JS以编程方式关闭窗口,则应该可以使用:

App.myWindow.close();

只要您想关闭窗口,就可以在任何事件处理程序中使用该tidbit。