ASP.NET - 显示和隐藏多个div

时间:2014-09-18 13:28:28

标签: html asp.net

我想知道我目前使用的方法是最佳做法,还是我可能使用的资源多于必要的资源。在我当前的网站上,我根据用户需要做什么或有权访问来显示和隐藏div。

目前我宣布我的div是这样的:

<div id="NormalView" runat="server" visible="false">

我使用此功能显示和隐藏我的div:

Private Sub DivSelection(ByVal Selection As String)
    NormalView.Visible = False
    FieldRepView.Visible = False
    TestDiv.Visible = False
    Ordering.Visible = False

    If Selection.Equals("NormalView") Then
        GVlowstock.DataBind()
        NormalView.Visible = True
    ElseIf Selection.Equals("FieldRepView") Then
        FieldRepView.Visible = True
    ElseIf Selection.Equals("PasswordChange") Then
        TestDiv.Visible = True
    ElseIf Selection.Equals("Ordering") Then
        Ordering.Visible = True
    End If
End Sub

我将在我的网页上添加更多div,所以我担心我当前的方法会失控,并且更加麻烦而不是有用。

我想知道是否有办法将此缩减为更少的行并同时提高效率。可能类似

Private Sub DivSelection(divID)
    alldivs.visible = False

    divID.visible = True

End Sub

1 个答案:

答案 0 :(得分:0)

也许一个调用所有div名称的循环会这样做,但我只想到了。但是,您可以通过引用要显示的div来缩短if语句。就像这样:

protected void Page_Load(object sender, EventArgs e)
        {
            ShowDiv(div2);
        }

        protected void ShowDiv(System.Web.UI.HtmlControls.HtmlGenericControl divid)
        {
            div1.Visible = false;
            div2.Visible = false;

            divid.Visible = true;
        }