使用case语句重定向到同一个aspx页面中的选项卡

时间:2015-03-28 17:49:47

标签: c# html asp.net tabs

我有一个网站,其中一个页面上有5个标签。获得" Next"和"返回"按钮用于在选项卡之间导航,我使用枚举引用的枚举,并在case语句中使用RedirectTo在选项卡之间导航。标签' URL是#WhatHappened等。这不起作用,会发生的是URL更改以反映新地址,但旧选项卡处于活动状态,即使我使用函数执行保存,数据也会从选项卡中消失,这就是我没有使用javascript的原因。

任何想法都会很棒。

保存功能中的代码......

 protected void SaveEventDetails(object sender, CommandEventArgs e)
        {
            bool isSubmitted = false;
            PageLocation pageLocation = (PageLocation)Session["pageLocation"];

            switch (e.CommandName)
            {

                case "BACK":
                    if (_eventID == 0)
                    {
                        Save(false, Mode.Edit, Status.Save);
                        RedirectTo(pageLocation - 1);
                    }
                    else
                        Update(_eventID, false, Status.Save);
                        RedirectTo(pageLocation - 1);
                    break;
                case "NEXT":
                    if (_eventID == 0)
                    {
                        Save(false, Mode.Edit, Status.Save);
                        RedirectTo(pageLocation + 1);
                    }
                    else
                        Update(_eventID, false, Status.Save);
                    RedirectTo(pageLocation + 1);
                    break;

重定向功能代码......

public void RedirectTo(PageLocation pageLocation)
        {
            switch (pageLocation)
            {
                case PageLocation.ApprovalActions:
                    Response.Redirect("#tabInvestigatorAction");
                    break;
                case PageLocation.WhoWasInvolved:
                    Response.Redirect("#tabInvolved");
                    break;
                case PageLocation.Questions:
                    Response.Redirect("#tabQuestions");
                    break;
                case PageLocation.InvestigatorComments:
                    Response.Redirect("#tabNotes");
                    break;
                case PageLocation.AttachmentsAndComments:
                    Response.Redirect("tabAttachmentsComments");
                    break;
                default:
                    Response.Redirect("#tabWhatHappened");
                    break;
            }
        }

ENUM代码......

public enum PageLocation
    {
        WhatHappend = 1,
        Questions,
        WhoWasInvolved,
        AttachmentsAndComments,
        InvestigatorComments,
        ApprovalActions,
    }

ASPX页面代码......

<asp:Button ID="btnBack" CommandName="BACK" OnCommand="SaveEventDetails" runat="server" class="buttonColor" Text="Back" />
                <asp:Button ID="btnNext" CommandName="NEXT" OnCommand="SaveEventDetails" runat="server" class="buttonColor" Style="margin-right: 30px;" Text="Next" />

1 个答案:

答案 0 :(得分:0)

您可以使用jQuery ui作为标签,然后使用网址中的标签ID转到标签页。

此外,如果您使用服务器选项卡控件,请确保客户端ID与您在url中提供的客户端ID相同