我被困在一个看起来非常简单的场景中:加载Kendo窗口,该窗口具有绑定到模型的局部视图,并带有modelId
由客户端js提供的动态参数。
我找到了关于该refresh()
方法的信息,但这意味着已经有一个剑道窗口已初始化。那是第一个问题。我需要modelId
显示内容。因此,我解决了这个问题,并简单地返回了一个新模型,该模型应由refresh()
方法+有效参数替换/刷新,modelId
然后最终显示。问题:该视图将不会更新。该refresh()
方法实际上有效。控制器接收参数modelId
,获取相应的模型并返回视图。但是Kendo窗口仍然保留空的视图模型。
我非常努力地使它起作用,但是没有成功。
@(Html.Kendo().Window()
.Name("window")
.Title("")
//loads an empty viewmodel intially as there is no possibility to pass parameter
.LoadContentFrom("Actionname", "Controller")
.Actions(actions => actions.Close())
.Modal(true).Visible(false)
.HtmlAttributes(new {style = "margin: 10px"})
)
JavaScript片段:
$("#window").data("kendoWindow").refresh({
url: '/controller/actionname/',
data: { parameterlabel: parameter}
});
$("#window").data("kendoWindow").open().center(true);
不知道这是否可以解决您的主要问题,但是您应该可以执行以下操作:
@(Html.Kendo().Window()
.Name("window")
.Title("")
.LoadContentFrom("Actionname", "Controller", new { modelID = modelId })
.Actions(actions => actions.Close())
.Modal(true).Visible(false)
.HtmlAttributes(new {style = "margin: 10px"})
)
然后,您将不需要加载空模型并使用正确的参数对其进行刷新。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句