我希望我的ajaxToolkit:TabContainer有一個允許用戶添加另一個選項卡的Tabpanel。我只希望它在點擊「+」標籤頁時發回而沒有其他。 我似乎無法阻止事件中的Javascript冒泡:ajaxToolkit:TabContainer添加標籤時確認
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<script type="text/javascript">
function checkTab(sender, e) {
if (sender.get_activeTab().get_headerText().replace("<span>", "").replace("</span>", "") != "+") {
cancelBubble(e);
}
else {
if (!confirm('Are you sure?')) {
cancelBubble(e);
}
}
}
function cancelBubble(e) {
if (e) {
e.stopPropagation();
}
else {
window.event.cancelBubble = true;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:ScriptManager ID="ScriptManager" runat="server">
</asp:ScriptManager>
<ajaxToolkit:TabContainer ID="MyTabContainer" runat="server" OnActiveTabChanged="MyTabContainer_OnActiveTabChanged"
AutoPostBack="true" OnClientActiveTabChanged="checkTab">
<ajaxToolkit:TabPanel ID="TabPanel1" runat="server" HeaderText="My First Tab" Enabled="true">
<ContentTemplate>
My first tab
</ContentTemplate>
</ajaxToolkit:TabPanel>
<ajaxToolkit:TabPanel ID="AddTabPanel" runat="server" HeaderText="+" Enabled="true">
<ContentTemplate>
</ContentTemplate>
</ajaxToolkit:TabPanel>
</ajaxToolkit:TabContainer>
</div>
</form>
</body>
</html>
protected void MyTabContainer_OnActiveTabChanged(object sender, EventArgs e)
{
TabPanel tp = new TabPanel();
tp.HeaderText = "New Tab";
MyTabContainer.Tabs.Add(tp);
}
謝謝, 亞歷克斯
沒有好,但仍經過回發,因爲它不會讓我做:OnClientActiveTabChanged =「返回checkTab」 –
@AlexDriver我沒有在AJAX Control Toolkit控件中工作過,但是你嘗試了'OnClientActiveTabChanged =「return checkTab(this);」'或者只是'OnClientActiveTabChanged =「return checkTab(); 「'? – jadarnel27
SyntaxError:語法錯誤 ... pPlacement「:false},{」activeTabChanged「:return checkTab(this);},null –