我在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关闭窗口,但没有运气。
如果需要更多代码,请告诉我,我可以相应地发布。
由于
答案 0 :(得分:0)
“重新渲染页面”到底是什么意思?重新加载页面?我尝试了你的代码片段,在将ShowScreen更改为false并重新加载页面后,没有窗口出现。
如果您尝试使用JS以编程方式关闭窗口,则应该可以使用:
App.myWindow.close();
只要您想关闭窗口,就可以在任何事件处理程序中使用该tidbit。