Asp.net RadTabStrip似乎没有选择RadTab-为什么?
RadTabStrip在母版页中有效吗?单击时,选项卡不会显示为选中状态 步骤:Asp.net RadTabStrip似乎没有选择RadTab-为什么?,asp.net,tabs,telerik,webforms,rad-controls,Asp.net,Tabs,Telerik,Webforms,Rad Controls,RadTabStrip在母版页中有效吗?单击时,选项卡不会显示为选中状态 步骤: 创建一个新的Web应用程序项目。默认情况下,它在母版页(Site.Master)中包含“主页”和“关于”选项卡。选项卡是asp:MenuItem控件 注释掉asp:Menu控件并将RadTabStrip拖动到其位置。添加两个选项卡。运行应用程序时,每个选项卡都按预期工作——单击时,它似乎处于选中状态 现在向指向“~Default.aspx”和“~About.aspx”页面的每个RadTab添加NavigateURL
<div>
<telerik:RadScriptManager ID="RadScriptManager1" runat="server">
</telerik:RadScriptManager>
</div>
<%--<div class="clear hideSkiplink">
<asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal">
<Items>
<asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/>
<asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/>
</Items>
</asp:Menu>
</div>--%>
<div>
<telerik:RadTabStrip ID="RadTabStrip1" runat="server">
<Tabs>
<telerik:RadTab runat="server" Text="Root RadTab1" NavigateUrl="~/Default.aspx">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Root RadTab2" NavigateUrl="~/About.aspx" >
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
</div>
我认为,如果您想这样使用RadTab元素,还需要向RadTab元素添加
runat=“server”
。例如:
<telerik:RadTab Text="Home" NavigateUrl="Default.aspx" runat="server">
</telerik:RadTab>
更新(在您的更新中):
将runat=“server”
添加到RadTab时,会导致回发。在回发时,即使控件导航到指定页,也无法确定选择了哪个选项卡。这是如何在Telerik中解决的:
与我的母版页相比,我在代码中看到的唯一区别是在RadTabStrip上选择了dex=“0”,在其中一个Rad选项卡上选择了Selected=“true”:
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0">
<Tabs>
<telerik:RadTab runat="server" Text="Root RadTab1" NavigateUrl="~/Default.aspx" Selected="true">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Root RadTab2" NavigateUrl="~/About.aspx" >
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>
您可以发布一些代码吗?具体来说,您的选项卡条RadTab正在导致回发…请参见下面的我的答案。如果进行了这些更改,即使单击第二个选项卡,也只会显示选中的第一个选项卡。奇怪,就是这样!你的回答让我想到:@DeveloperDan-很高兴我能帮上忙;)
<telerik:RadPageView ID="RadPageView1" runat="server" ContentUrl="Default.aspx">
protected void Page_Load(object sender, System.EventArgs e)
{
string urlWithSessionID = Response.ApplyAppPathModifier(Request.Url.PathAndQuery);
RadTab tab = RadTabStrip1.FindTabByUrl(urlWithSessionID);
if (tab != null)
{
tab.SelectParents();
tab.PageView.Selected = true;
}
}
<telerik:RadTabStrip ID="RadTabStrip1" runat="server" SelectedIndex="0">
<Tabs>
<telerik:RadTab runat="server" Text="Root RadTab1" NavigateUrl="~/Default.aspx" Selected="true">
</telerik:RadTab>
<telerik:RadTab runat="server" Text="Root RadTab2" NavigateUrl="~/About.aspx" >
</telerik:RadTab>
</Tabs>
</telerik:RadTabStrip>