将其他Kendo小部件放在ASP.NET MVC的窗口内容中

时间:2016-12-14 15:19:31

标签: asp.net-mvc kendo-ui telerik kendo-ui-mvc kendo-window

是否可以使用razor语法在Kendo窗口的内容中添加kendo小部件?

以下是我尝试做的一个示例,但是kendo小部件未正确加载:

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

1 个答案:

答案 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);
}

窗口详细信息部分视图

@model AdvancedProductSettingsViewModel

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

让控制器返回View()或PartialView()。