我有一个窗口:
@(Html.Kendo().Window()
.Name("wndInvoiceLineEditor")
.Title("Invoice Line Item Editor")
.Content("loading dialog...")
.Height(350)
.Width(785)
.LoadContentFrom("InvoiceLineItemEditor", "Invoice", new { LineItemId = "Initial" })
.Draggable()
.Resizable()
.Visible(false)
)
我需要能够重新加载该部分视图,并在运行时传递不同的数据。据我在文档中读到,我应该可以这样做:
$("#wndInvoiceLineEditor").data("kendoWindow").refresh({
data: {
LineItemId: $($(".k-state-selected td")[0]).text()
}
});
然而动作服务器端:
public ActionResult InvoiceLineItemEditor(string LineItemId)
{
int id = 0;
if(string.IsNullOrEmpty(LineItemId) || !int.TryParse(LineItemId, out id))
{
return PartialView("InvoiceLineItemEditorPartial", new InvoiceLineItem());
}
...blah blah blah
...没有收到正确的ID(从表中获取它的jquery工作,已通过Chrome控制台测试)
相反,它接收视图中配置的数据:“Initial”。
我错过了什么吗?如何将数据发送回操作,以便我可以使用正确的信息加载该部分?
答案:
问题是在视图中窗口初始化的LoadContentFrom部分中设置了默认数据。将其更改为:
@(Html.Kendo().Window()
.Name("wndInvoiceLineEditor")
.Title("Invoice Line Item Editor")
.Content("loading dialog...")
.Height(350)
.Width(785)
.LoadContentFrom("InvoiceLineItemEditor", "Invoice")
.Draggable()
.Resizable()
.Visible(false)
)
...解决了这个问题。窗口似乎是不可移动的,设置为默认值。
答案 0 :(得分:1)
问题是在视图中窗口初始化的LoadContentFrom部分中设置了默认数据。将其更改为:
@(Html.Kendo().Window()
.Name("wndInvoiceLineEditor")
.Title("Invoice Line Item Editor")
.Content("loading dialog...")
.Height(350)
.Width(785)
.LoadContentFrom("InvoiceLineItemEditor", "Invoice")
.Draggable()
.Resizable()
.Visible(false)
)
...解决了这个问题。窗口似乎是不可移动的,设置为默认值。