ウィンドウがあります:
@(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 を受け取りません (テーブルから ID を取得する jquery は動作します。Chrome コンソールでテスト済みです)。
代わりに、ビュー「初期」で構成されたデータを受け取ります。
何か不足していますか?アクションに送り返されたデータを取得して、そのパーシャルを適切な情報でロードできるようにするにはどうすればよいですか?
答えた:
問題は、ビューのウィンドウ初期化の 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)
)
...問題を修正します。ウィンドウは、一見不動に、そのデフォルト値に設定されました。