2

ウィンドウがあります:

@(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)
)

...問題を修正します。ウィンドウは、一見不動に、そのデフォルト値に設定されました。

4

1 に答える 1

1

The problem was the default data being set up in the LoadContentFrom part of the window initialization in the view. Changing it to:

@(Html.Kendo().Window()
   .Name("wndInvoiceLineEditor")
   .Title("Invoice Line Item Editor")
   .Content("loading dialog...")
   .Height(350)
   .Width(785)
   .LoadContentFrom("InvoiceLineItemEditor", "Invoice")
   .Draggable()
   .Resizable()
   .Visible(false)
)

...fixes the problem. The window was set, seemingly immovably, to that default value.

于 2015-03-20T16:02:47.477 に答える