0

我有一个加载 3 个标签的剑道标签条。第一个选项卡加载一个剑道面板,代码是这样的

 @(Html.Kendo().TabStrip()
          .Name("tabstrip")
          .Items(tabstrip =>
          {
              tabstrip.Add().Text("Transactions")
              .LoadContentFrom("getgridpanel", "Grid").Selected(true);
              tabstrip.Add().Text("Payments").Encoded(false)
                  .Content(@<text><div class="dr_detail row">
                      <br>
                      <br>
                  </div></text>);
              tabstrip.Add().Text("Browse").Encoded(false).HtmlAttributes(new { style = "float:right !important" })
                  .Content(@<text><div class="dr_detail row">
                      <br>
                      <br>
                      <br>
                      <br>
                  </div></text>);

          })
    )

第一个选项卡内的面板是这样的:

@(Html.Kendo().PanelBar()
.Name("panelbar")
.ExpandMode(PanelBarExpandMode.Multiple)
.HtmlAttributes(new { style = "width:100%" })
.Items(panelbar =>
      {
          panelbar.Add().Text("Invoice Details")
              .Content(@<text><div class="col-md-2 dr">
                   <dl>
                     <dt class="text-left ">Invoice #:</dt>
                     <dd class="text-left ">
                     <input class="form-control input-sm" type="text" placeholder="Small Input">
                     </dd>
                    </dl>
                 </div></text>);
          panelbar.Add().Text("Payment & Discount");
          panelbar.Add().Text("Item Details")
          .LoadContentFrom("GetGrid", "Grid", new { grid =    Awesome.Web.WebConstants.L_GRID_AGENT });
      })
)

当代码像这样时它工作正常......它呈现正确但是当我尝试在面板栏中创建一个剑道蒙面文本框时,如下所示:

@(Html.Kendo().PanelBar()
.Name("panelbar")
.ExpandMode(PanelBarExpandMode.Multiple)
.HtmlAttributes(new { style = "width:100%" })
.Items(panelbar =>
      {
          panelbar.Add().Text("Invoice Details")
              .Content(@<text><div class="col-md-2 dr">
                   <dl>
                     <dt class="text-left ">Invoice #:</dt>
                     <dd class="text-left ">
                     @(Html.Kendo().MaskedTextBox()
                     .Name("Invoice")
                     .Mask("0000000")
                       )
                     </dd>
                    </dl>
                 </div></text>);
          panelbar.Add().Text("Payment & Discount");
          panelbar.Add().Text("Item Details")
          .LoadContentFrom("GetGrid", "Grid", new { grid =    Awesome.Web.WebConstants.L_GRID_AGENT });
      })
)

这段代码给了我一个 javascript 错误:“TypeError: undefined is not a function in /Grid/getgridpanel”

tabstrip 和 panel 都是局部视图

有什么帮助吗??这可能是剑道用户界面的错误或冲突吗????

4

1 回答 1

1

您的 mvc 助手方法调用中不能有嵌套模板。您拥有 MaskedtextBox 的代码导致了问题。我过去所做的是创建一个返回剑道控件的 html 助手,然后在主页中添加包含嵌套项的剑道标记的其余部分,如下所示:

<div>
    @MyHelper(parameters).Items(...your code for panel bar here)
</div>

您的帮助方法应该返回类型 KendoPanelBar。如果您需要进一步澄清,请告诉我。祝你好运。

于 2014-06-17T19:32:35.560 回答