2

我正在使用多视图创建选项卡,我想做的是在右键单击其中一个菜单选项卡时关闭它。

这些是aspx和背后代码的一部分:

ASPX 页面:

<asp:Menu
    id="Menu1"
    Orientation="Horizontal"
    StaticMenuItemStyle-CssClass="tab"
    StaticSelectedStyle-CssClass="selectedTab"
    CssClass="tabs" width = "100%" 
    OnMenuItemClick="Menu1_MenuItemClick"                           
    Runat="server" style=" text-align:center;">
</asp:Menu>
<div id="divcont" runat="server" class="tabContents" style="height:100%; width:100%;" visible="false">
    <asp:MultiView
        id="MultiView1"
        ActiveViewIndex="0"
        Runat="server">
        <asp:View ID="v1" runat="server" >
        <iframe id="f1" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>      
        <asp:View ID="v2" runat="server" >
        <iframe id="f2" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v3" runat="server" >
        <iframe id="f3" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v4" runat="server" >
        <iframe id="f4" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v5" runat="server" >
        <iframe id="f5" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v6" runat="server" >
        <iframe id="f6" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>        
        <asp:View ID="v7" runat="server" >
        <iframe id="f7" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v8" runat="server" >
        <iframe id="f8" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v9" runat="server" >
        <iframe id="f9" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
        <asp:View ID="v10" runat="server" >
        <iframe id="f10" runat="server" style="border: None; height: 100%; width: 100%;"></iframe>
        </asp:View>
    </asp:MultiView>
</div>

代码背后:

(这是 NodeChanged 事件的一部分)

...
...
...
int TabCount = Convert.ToInt32(lblTabCounter.Text.ToString());
int TabIndex = Convert.ToInt32(lblTabCounterIndex.Text.ToString());

if(TabCount <= 10)
    {
        divcont.Visible = true;
        string tabName = getURLName(uRL);
        MenuItem myItem = new MenuItem(tabName, TabIndex.ToString());
        Menu1.Items.AddAt(TabIndex, myItem);
        f1.Attributes.Add("src", lblURL.Text.ToString());
        MultiView1.ActiveViewIndex = TabIndex;
        TabCount++;
        TabIndex++;
        lblTabCounter.Text = TabCount.ToString();
        lblTabCounterIndex.Text = TabIndex.ToString();
        tvPermissions.ExpandAll();

        int i = ctr;
    }

(这是针对 MenuItemClick 事件的)

protected void Menu1_MenuItemClick(object sender, MenuEventArgs e)
{
    int index = Int32.Parse(e.Item.Value);
    MultiView1.ActiveViewIndex = index; 
}

这是示例输出:

在此处输入图像描述

树视图位于橙色部分(左)。而蓝色的是位于项目中的目标 url。根据我提供的代码,它只会指出一个名为“f1”的帧作为示例,尽管其中有 10 个。右键单击特定选项卡(例如选项卡“费用”)时,如何删除它?

我希望这在后面的代码中完成。对于 javascript/jquery 解决方案,请提供其实现代码或如何从代码后面调用/使用它。

请帮我解决一下这个。如需澄清,请发表评论。

谢谢!

4

1 回答 1

0

我尝试了不同的方法。我没有右键单击,而是使用双击确认来删除选项卡。

我还调整了用户定义的 JS 库来捕捉双击并添加更多效果。

我还提到我已经有了我的 JavaScript 函数来处理这个问题,我只是在寻找 JavaScript 或 JQuery 以外的替代方案。然而,令我惊讶的是,我没有得到任何回应或评论。

感谢您阅读这篇文章。

于 2013-06-10T04:08:07.507 回答