Telerik PanelBar:是否可以将项目重定向到新页面?

Telerik PanelBar:是否可以将项目重定向到新页面?,telerik,panelbar,Telerik,Panelbar,在我的应用程序中,我希望程序将用户重定向到新页面,并在单击/选择panelBar项时滑动打开子项列表。然而,我不确定这应该如何实施 我已经使用了我的panelBar的“.Action”和“item”,但不幸的是,这抛出了一个错误。为了方便起见,下面显示了代码的一小部分(主要集中在最后一行的第二行)。引发的错误是: 用户代码未处理HttpException { 项目.添加() .文本(“主页”).操作(“索引”、“主页”) .项目(子项目=> { 子项.Add().Text(“我的个人资料”).

在我的应用程序中,我希望程序将用户重定向到新页面,并在单击/选择panelBar项时滑动打开子项列表。然而,我不确定这应该如何实施

我已经使用了我的panelBar的“.Action”和“item”,但不幸的是,这抛出了一个错误。为了方便起见,下面显示了代码的一小部分(主要集中在最后一行的第二行)。引发的错误是:

用户代码未处理HttpException


{
项目.添加()
.文本(“主页”).操作(“索引”、“主页”)
.项目(子项目=>
{
子项.Add().Text(“我的个人资料”).Action(“我的个人资料”、“个人资料”);
子项.Add().Text(“测试”);
});
项目.添加()
.文本(“方向”).行动(“索引”、“方向”)
.项目(子项目=>
{
子项.Add().Text(“GridView”);
子项.Add().Text(“调度程序”);
子项.Add().Text(“停靠”);
子项.Add().Text(“图表”);
});                
}).Render();
%>

在这种情况下“.Action”似乎不起作用。所以我的问题是,我应该如何使项目在一个事件中

下面是我如何使用javascript实现这一点的一个片段,它工作得很好。我不否认还有其他方法可以做到这一点。大家都知道,这段代码来自我正在做的一个MVC应用程序。我还包括了样式代码,以便您知道您可以这样做。我意识到,您并没有要求提供该功能,只是认为它可能有助于您更好地了解该物业

假设我想要粗体字体,没有边框,我们想要捕捉鼠标事件来执行重定向

要处理样式,我只需添加我的项目,然后使用HtmlAttributes属性设置样式

下面是样式的代码

由于我的网站是一个冲浪网站,我想打开冲浪商店主页并删除子菜单 同时,。为此,我使用相同的HtmlAttributes属性并将其挂接到 onmousedown事件处理程序。然后,我调用我的处理程序,传入我希望加载的控制器名称。我只需要控制器,因为所有页面都称为索引。但是,您可以在这里传递一个完整的字符串,然后简单地重定向到它。无论什么东西把你的头发吹回去…:-)

下面是事件处理程序中带有钩子的代码

最后,这里是带有样式和事件处理程序挂钩的完整代码

我们的事件处理函数

另外,被调用的MVC控制器必须在ViewData中传回一个值,以便切换PanelBar的selectedIndex属性。这样,当执行重定向时,正确的面板将打开

希望这有助于

  <% Html.Telerik().PanelBar()
            .Name("PanelBar")
            .SelectedIndex(0)
            .Items(item =>
            {
                item.Add()
                    .Text("Home").Action("Index", "Home")
                    .Items(subItem =>
                     {
                         subItem.Add().Text("My Profile").Action("MyProfile", "Profile");
                         subItem.Add().Text("Test");
                     });

                item.Add()
                    .Text("Orientation").Action("Index", "Orientation")
                    .Items(subItem =>
                    {
                        subItem.Add().Text("GridView");
                        subItem.Add().Text("Scheduler");
                        subItem.Add().Text("Docking");
                        subItem.Add().Text("Chart");
                    });                

            }).Render();
    %>
**item.Add()     
    .Text("Surf Shop")     
    .HtmlAttributes(new { style = "font-weight: bold; border:none;" })**
**item.Add()
    .Text("Surf Shop")
    .HtmlAttributes(new { onmousedown="onBaseNavItemClick('SurfShop');" })** 
**item.Add()
    .Text("Surf Shop")
    .HtmlAttributes(new { style = "font-weight: bold; border:none;",onmousedown="onBaseNavItemClick('SurfShop');" })**
**function onBaseNavItemClick(itemText)
{
    window.location = BASE_URL + itemText + "/index";
}**