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。