2016-12-14 12 views
0

剣道のコンテンツの中に剣道ウィジェットを追加するためにかみそりの構文を使用できますか?他の剣道ウィジェットをASP.NET MVCのウィンドウのコンテンツに配置

<div id="window1"></div> 

    @(Html.Kendo().Window() 
      .Name("productWindow") 
      .Title("Additional Settings") 
      .Width(400) 
      .Modal(true) 
      .AppendTo("#window1") 
      .Visible(false) 
      .Actions(actions => actions.Minimize().Maximize().Close()) 
.Content(@<text> 
    <label asp-for="ProductId"></label> 
    @(Html.Kendo().DropDownList() 
         .Name("ProductId") 
         .DataTextField("Text") 
         .DataValueField("Value") 
         .BindTo(new List<SelectListItem>() { 
          new SelectListItem() { 
           Text = "Prod 1", 
           Value = "1" 
          }, 
          new SelectListItem() { 
           Text = "Prod 2", 
           Value = "2" 
          }, 
          new SelectListItem() { 
           Text = "Prod 3", 
           Value = "3" 
          }, 
          new SelectListItem() { 
           Text = "Prod 4", 
           Value = "4" 
          } 
         }) 
         .Value("2") 
         .HtmlAttributes(new { style = "width: 100%" }) 
         .Deferred() 
    ) 
    <span asp-validation-for="ProductId" class="text-danger"></span> 
     </text>) 
      .Deferred() 
    ) 
+0

ドロップダウンがうまく、ダブルエスケープが期待どおりに機能しないと言って、私の答えを削除しました。しかし、私は、あなたがウィンドウ内に何かをロードしようとするなら、Razorを使うときに、コンテンツをPartialに分割するほうが簡単であることを示唆しています。ウィンドウの内容をインライン化すると非常に扱いにくくなります。 –

+0

それでは、ViewModelを持つPartialに分解してみましょう。どのようにしてウィンドウの内容の一部を作ることができますか?私の全体的な目標は、親ページ上にフィールドが1つ、剣道ウィンドウにフォームフィールドがいくつかあることです。フォームのポストでは、すべてのフィールドがビューモデルにバインドされ、自分のコントローラのCreateアクションに送信されます。私は、これらの剣道のコントロールをウィンドウの内容にロードすることが近いことを信じています。 –

+0

私は以下のあなたのコメントへの回答を追加しました。 –

答えて

0

をあなたは、ウィンドウがそれのコンテンツを求めるために別の電話をかけることができます:ここでは

は私がやろうとしていますが、剣道のウィジェットが正しくロードされていないものの一例です。その呼び出しは、ウィンドウのビューで部分を返します。親ビューで

@model ProductFormViewModel 

@(Html.Kendo().Window().LoadContentFrom("Action", "Controller",new object{"detailID",model.DetailID); 

コントローラ

public ActionResult Action(int detailID) 
{ 
    var detailModel=LoadDetail(DetailID); 
    return PartialView("MyWindowPartual",detailModel); 
} 

ウィンドウの詳細PartialView

@model AdvancedProductSettingsViewModel 

@(Html.Kendo().DropDownList()... 

とHAコントローラがView()またはPartialView()を返します。

+0

完璧な私はこれを試してみましょうと私は正しいとマークします。あなたは私の親ページのViewModelとpartialのViewModelをどのようにマージできるか分かりますか?私は、親ページでProductFormViewModelというViewModelを持っているとし、部分的にはAdvancedProductSettingsViewModelというViewModelを持っているとします。親ページのVMには、親ページのフィールドと部分的なフィールドの両方のプロパティが含まれています。どういうわけかこれらのフィールドに部分的なフィールドを入力する必要があります。 –

+0

私の以前の投稿をもっと明確にする:通常、部分的なビューを読み込むと、それはビューモデルに渡されますか?このシナリオでは、親フォームからビューモデルを渡すことができます。 –

+0

詳細ビューのAdvancedProductSettingsViewModelをコントローラで2度読み込む必要があります。通常、私は、詳細レコードまたはレコードへのリンクを持つ要約ビューになるように親を外します。私は1つの解決策で答えを更新しました。 –

関連する問題