Telerik mvc多个控件仅呈现一个或另一个

时间:2014-03-18 02:44:06

标签: c# asp.net-mvc telerik telerik-mvc

MVC 3 Telerik 2012.1.214 您好,

我已经有一段时间了,这真的打败了我。我经历了无数的变化,尝试了许多不同的文章,文档和建议。我的问题很简单。我想在页面上有两个Telerik控件。只有一个或另一个将呈现。我确实尝试了一种不会导致渲染的变体。

这似乎很直接,这让我更加沮丧。

在cshtml razor代码中我有这个:

@{
   Html.Telerik().Window()
   .Name("Window")
   ....etc....
  }

some html ....then

@{  Html.Telerik().TabStrip()
    .Name("TabStrip")
    .Items(tabstrip =>...)
     etc...
    .Render();
  }

在这种情况下,TabString将呈现。如果我把渲染放在第一个将渲染。如果我使用@()代替@ {},则不会渲染。

我做错了什么?

2 个答案:

答案 0 :(得分:0)

根据您的说法,我不认为您在使用Telerik控件方面做错了什么。但请尝试以下方法;

  1. 删除所有中间的' html'在两个控件之间并尝试
  2. 在Chrome中渲染页面并检查控制台是否存在任何渲染问题
  3. 检查渲染的Html以验证确实没有呈现2个控件。可能是它们已呈现,但由于某种原因您在浏览器中看不到它们
  4. 我尝试渲染类似于你的页面,@()和@ {}这两种方法都适用于我,这里的代码

    @{
    Html.Telerik().Window()
        .Name("Window1")
        .Content("<h1>Window1</h1>")
        .Draggable(true)
        .Render();
    } 
    
    <span>Here is the middle html</span>
    
    @{
    Html.Telerik().TabStrip()
        .Name("TabStrip1")
        .Items(items =>
                   {
                       items.Add().Content("<h1>Tab 1</h1>").Text("Tab 1").Visible(true);
                       items.Add().Content("<h1>Tab 2</h1>").Text("Tab 2");
                       items.Add().Content("<h1>Tab 3</h1>").Text("Tab 3");
                   })
        .Render();
    }
    

    这是@()方式;

    @(
    Html.Telerik().Window()
        .Name("Window2")
        .Content("<h1>Window2</h1>")
        .Draggable(true)
    )
    
    <span>Here is the middle html</span>
    
    @(
    Html.Telerik().TabStrip()
        .Name("TabStrip2")
        .Items(items =>
                   {
                       items.Add().Content("<h1>Tab 1</h1>").Text("Tab 1").Visible(true);
                       items.Add().Content("<h1>Tab 2</h1>").Text("Tab 2");
                       items.Add().Content("<h1>Tab 3</h1>").Text("Tab 3");
                   })
    )
    

答案 1 :(得分:-1)

这很奇怪,因为我没有这种问题...... 你能把你在视图中使用的整个代码放在哪里吗? 你检查过你是否有任何JS错误?

相关问题