我对ASP.NET不是很熟悉,但我有一个情况:
我有一个使用ASP.NET C1TabStrip 和 C1MultiPage 控件实现的选项卡式菜单,我希望选择第一个选项卡(SelectedIndex =" 0&#34 ;)在 IE8 中加载页面。
注意:我没有服务器端访问权限(我对asp.net服务器端编码不熟悉)
以下是代码:
<cc1:TabStrip ID="TabStrip1" runat="server" MultiPageID="RadMultiPage1" SelectedIndex="0" Skin="MetroTouch" EnableViewState="true" CausesValidation="False" BorderWidth="0">
<Tabs>
<telerik:RadTab ID="TabInformation" runat="server" AccessKey="1" PageViewID="TabInformationPage" BorderWidth="0"></telerik:RadTab>
<telerik:RadTab ID="TabWorkflow" runat="server" AccessKey="2" PageViewID="TabWorkflowPage" BorderWidth="0"></telerik:RadTab>
<telerik:RadTab ID="TabApproval" runat="server" AccessKey="3" PageViewID="TabApprovalPage" BorderWidth="0"></telerik:RadTab>
</Tabs>
</cc1:TabStrip>
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" OnPageViewCreated="RadMultiPage1_PageViewCreated" SelectedIndex="0" EnableViewState="true">
Telerik RadPageView......
</telerik:RadMultiPage>
一般情况下它运行正常(Chrome,Firefox,IE9及更高版本),但在Internet Explorer 8中加载页面时,默认情况下不会选择任何标签。
单击其中一个选项卡后,控件正常工作。
客户端
我正在尝试使用jQuery获取客户端对象,使用以下脚本:
var tabStrip = $find("<%= TabStrip1.ClientID %>");
var tabStripTab0 = tabStrip.get_tabs().getTab("0");
tabStripTab0.click();
在大多数浏览器(Chrome,Firefox,IE9及更高版本)中,tabStrip变量获取 RadTabStrip对象 ,但在IE8中它返回 null
有没有人知道如何在IE8中获取tabstrip对象?
提前致谢!
问题已解决
我只需要像这样设置超时:
window.onload = tabStripTimeOut;
function tabStripTimeOut() {
if ($telerik.isIE8) {
setTimeout(correctTabstripWidth, 500);
} else {
correctTabstripWidth();
}
}
function correctTabstripWidth() {
var tabStrip = $find("<%= TabStrip1.ClientID %>");
var tabStripTab0 = tabStrip.get_tabs().getTab("0");
tabStripTab0.click();
}
答案 0 :(得分:0)
我想在页面加载时选择第一个标签(SelectedIndex =&#34; 0&#34;)
如果您想在页面加载时使用它,只需在服务器端执行。
以下是http://www.telerik.com/forums/how-to-set-selected-tab---server-side
的示例protected void Page_Load(object sender, EventArgs e)
{
RadTab tab1 = RadTabStrip1.Tabs.FindTabByText("Tab1");
tab1.Selected = true;
}
在您的情况下,可能有更好,更简单的方式来访问选项卡而不通过文本搜索它,但我的WebForms非常生疏;)