如何在回发时显示div

时间:2014-05-20 12:02:40

标签: c# css asp.net

#layer1 {
    width: 575px;
    height: 400px;
    background-color: #E0E0EB;
    position: absolute;
    top: 36px;
    left: 222px;
}

#layer2 {
    width: 575px;
    height: 400px;
    background-color: #E0E0EB;
    position: absolute;
    top: 36px;
    left: 222px;
    visibility:hidden;
}

我对两个div都有一些控制......

<asp:HyperLink ID="HyperLink1" runat="server" onclick="f1();" NavigateUrl="#">Add Personal Details</asp:HyperLink>
<asp:HyperLink ID="HyperLink1" runat="server" onclick="f2();" NavigateUrl="#">Add Personal Details</asp:HyperLink>

点击HyperLink我有以下代码......

function f1() {
    document.getElementById("layer1").style.visibility = "visible";
    document.getElementById("layer2").style.visibility = "hidden";
}

function f2() {
    document.getElementById("layer1").style.visibility = "hidden";
    document.getElementById("layer2").style.visibility = "visible";
}

我有一个按钮..

<asp:Button ID="Button5" runat="server" Text="Button" />

当我点击HyperLink时,一切正常,但当我点击按钮时由于回发页面重置而在div2中出现并且div1正在显示。根据PostBack,这是真的。但我希望div2只显示aftr按钮点击任何人都可以为我提供代码......请帮忙......

3 个答案:

答案 0 :(得分:1)

如果您试图阻止Button5导致回发,请将onclientclick="return false;"添加到控件中。否则,您只需在click事件处理程序中处理div的可见性。像这样:

protected void Button5_Click(object sender, EventArgs e)
{
    div1.Style["display"] = "block";
    div2.Style["display"] = "none";
}

要在代码隐藏中访问您的div,您可能需要通过添加runat="server"

来使其成为服务器控件

答案 1 :(得分:0)

我想你知道当有回发时会发生什么,重新加载页面。因此,您必须处理当回发时保留旧值(IsPostback)

的情况

答案 2 :(得分:0)

自从我使用asp以来已经有一段时间了,但是这里有。

您可以在Viewstate对象中存储可变数据,并在加载程序时检查可变量。例如

function f1() {
    document.getElementById("layer1").style.visibility = "visible";
    document.getElementById("layer2").style.visibility = "hidden";
    ViewState("layer") = "1"

}

function f2() {
    document.getElementById("layer1").style.visibility = "hidden";
    document.getElementById("layer2").style.visibility = "visible";
    ViewState("layer") = "2"

}

加载页面时,您可以执行与此类似的操作

String strLayer = ViewState("layer").ToString();

if(strLayer.equals("2"))
    f2();

您可以在此处找到更多可能有用的信息 http://www.dotnetuncle.com/aspnet/75_viewstate.aspx

希望这有帮助。