ASP.NET/C#试图通过链接在web地址末尾带有#的表单上使用page#load方法

ASP.NET/C#试图通过链接在web地址末尾带有#的表单上使用page#load方法,c#,asp.net,forms,C#,Asp.net,Forms,我需要使用相同的表单来显示多个内容,我意识到当我添加以下链接时: <a href="#A">A</a> asp.net代码: <a href="#A">A</a> <div ID="div1" runat="server"> content 1 </div> <div ID="div2" runat="server"> content 2

我需要使用相同的表单来显示多个内容,我意识到当我添加以下链接时:

    <a href="#A">A</a>
asp.net代码:

    <a href="#A">A</a>
    <div ID="div1" runat="server">
        content 1
    </div>
    <div ID="div2" runat="server">
        content 2
    </div>

内容1
内容2
我尝试将Page_Load方法放在脚本标记中,但仍然不起作用。我猜由于url不同,cs代码无效?我知道在我点击链接之前,它会先浏览一下页面加载方法。我还使用了一种方法,它为我提供了div1和div2的控件,所以这不是问题所在。我提前感谢大家的帮助!此外,如果我的方式不是做这项工作的方式,那么请告诉我任何可能的方式来实现我正在努力做的事情


编辑:我无法使用按钮替换链接。。。可能是asp:hyperlink?

这是您正在使用的HTML超链接,它不会导致回发,因此当您单击它时,页面加载将永远不会被调用


我建议如果您想显示一个使用客户端JavaScript的隐藏div。或者,您可以(例如)使用asp.net按钮控件,该控件将导致回发。

这是您正在使用的HTML超链接,不会导致回发,因此当您单击它时,页面加载将永远不会被调用


我建议如果您想显示一个使用客户端JavaScript的隐藏div。或者,您可以(例如)使用asp.net按钮控件,这将导致回发。

我建议使用href方法取消
锚定,以支持以下操作:

使用ASP.NET服务器控件及其单击事件处理程序来管理控件在页面上的可见性

页面\u Load
中,使页面具有显示控件的初始状态,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
     if(!Page.IsPostBack)
     {
          div1.Visible = false; //content 1
          div2.visible = true;  //content 2
     }
}
<asp:Button id="Button1" 
       Text="Click here to change page to B"
       OnClick="Button1_Click" 
       runat="server"/>
protected void Button1_Click(Object sender, EventArgs e)
{
    div1.Visible = true; //content 1
    div2.visible = false;  //content 2
}
现在,您可以使用ASP.NET
按钮
链接按钮
而不是锚定标记,以导致回发到服务器,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
     if(!Page.IsPostBack)
     {
          div1.Visible = false; //content 1
          div2.visible = true;  //content 2
     }
}
<asp:Button id="Button1" 
       Text="Click here to change page to B"
       OnClick="Button1_Click" 
       runat="server"/>
protected void Button1_Click(Object sender, EventArgs e)
{
    div1.Visible = true; //content 1
    div2.visible = false;  //content 2
}

我建议使用href
方法取消
锚定,以支持以下内容:

使用ASP.NET服务器控件及其单击事件处理程序来管理控件在页面上的可见性

页面\u Load
中,使页面具有显示控件的初始状态,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
     if(!Page.IsPostBack)
     {
          div1.Visible = false; //content 1
          div2.visible = true;  //content 2
     }
}
<asp:Button id="Button1" 
       Text="Click here to change page to B"
       OnClick="Button1_Click" 
       runat="server"/>
protected void Button1_Click(Object sender, EventArgs e)
{
    div1.Visible = true; //content 1
    div2.visible = false;  //content 2
}
现在,您可以使用ASP.NET
按钮
链接按钮
而不是锚定标记,以导致回发到服务器,如下所示:

protected void Page_Load(object sender, EventArgs e)
{
     if(!Page.IsPostBack)
     {
          div1.Visible = false; //content 1
          div2.visible = true;  //content 2
     }
}
<asp:Button id="Button1" 
       Text="Click here to change page to B"
       OnClick="Button1_Click" 
       runat="server"/>
protected void Button1_Click(Object sender, EventArgs e)
{
    div1.Visible = true; //content 1
    div2.visible = false;  //content 2
}

您是否尝试过使用查询字符串而不是解析整个URL<代码>HttpUtility.ParseQueryString(queryString)为什么不将jquery/javascript用于像隐藏和显示这样琐碎的事情呢?为什么要去服务器?但如果您必须使用服务器,请尝试更改此链接:
您是否回发到同一页面?因为你可以只使用一个按钮(如果你愿意的话,可以把它设计成链接的样式)。。。然后,您可以捕获后端的按钮单击事件,然后您将始终知道他们按下了“#A”操作,您无需解析url或进行条件检查。。。你可以说div1.Visible=false;我不能使用按钮,我将首先尝试这里介绍的一些想法,但是我可以像按钮一样使用asp:hyperkink来隐藏和显示div吗?我想我也可以试试javascript。你有没有试过使用查询字符串而不是解析整个URL<代码>HttpUtility.ParseQueryString(queryString)为什么不将jquery/javascript用于像隐藏和显示这样琐碎的事情呢?为什么要去服务器?但如果您必须使用服务器,请尝试更改此链接:
您是否回发到同一页面?因为你可以只使用一个按钮(如果你愿意的话,可以把它设计成链接的样式)。。。然后,您可以捕获后端的按钮单击事件,然后您将始终知道他们按下了“#A”操作,您无需解析url或进行条件检查。。。你可以说div1.Visible=false;我不能使用按钮,我将首先尝试这里介绍的一些想法,但是我可以像按钮一样使用asp:hyperkink来隐藏和显示div吗?我想我也可以试试javascript。