2

マルチビューを使用してタブを作成していますが、右クリックしたときにメニュータブの1つを閉じたいと思っています。

これらは 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」という名前の 1 つのフレームのみを指摘しますが、それらは 10 個あります。特定のタブ (「経費」タブなど) を右クリックして削除するにはどうすればよいですか?

これをコードビハインドで実行したい。javascript/jquery ソリューションについては、コード ビハインドの実装、またはコード ビハインドから呼び出し/使用する方法を提供してください。

これで私を助けてください。明確にするために、コメントを残してください。

ありがとうございました!

4

1 に答える 1

0

私は別のアプローチを試みました。右クリックの代わりに、確認付きのダブルクリックを使用してタブを削除します。

また、ユーザー定義の JS ライブラリを調整して、ダブルクリックをキャッチし、さらに効果を追加しました。

私は、JavaScript または JQuery 以外の代替手段を探しているだけで、これに取り組むための JavaScript 関数を既に持っているとも述べました。しかし、何の反応もコメントも得られなかったことに驚いています。

この投稿を読んでいただきありがとうございます。

于 2013-06-10T04:08:07.507 に答える