Dyanmic 更改按钮回发 URL asp.net
本文关键字:URL asp net 按钮 Dyanmic | 更新日期: 2023-09-27 18:35:34
是否可以动态更改按钮回发 URL 属性?例如,我得到了 3 页,分别是 salesListing.aspx
、orderlisting.aspx
和 createDetail.aspx
页。
salesListing
和orderlisting
允许用户导航到createDetail
页面。然而,在createDetail.aspx
我得到了一个后退按钮。
后退按钮是否有可能检测哪些页面导致回发?并且,当用户单击后退按钮时,后退按钮将保存记录并将其带回上一页?
例如用户单击订单列表,然后单击创建详细信息页面。当他单击后退按钮时,后退按钮保存用户 ID 并将用户带回订单列表。
我写了一个项目,它会自动为您管理所有后退导航,http://navigation.codeplex.com/。
将页面配置为状态列表。在每个状态下方是到不同状态的可能转换。例如,您的配置将是:
<state key="sales" page="~/salesListing.aspx">
<transition key="next" to="create"/>
</state>
<state key="order" page="~/orderListing.aspx">
<transition key="next" to="create"/>
</state>
<state key="create" page="~/createDetail.aspx"/>
然后在代码中,要从 salesList 移动到 createDetail,您编写:
StateController.Navigate("Next");
要从createDetail回到salesList,你写:
StateController.NavigateBack(1);
如果您有兴趣或需要任何帮助,请告诉我。
使用Request.UrlReferrer.ToString();
并将其存储在第一个页面加载时。
if( !IsPostBack )
{
ViewState["PreviousPageUrl"] = Request.UrlReferrer.ToString();
}
重定向到第二页后,如果您想返回
获取ViewState["PreviousPageUrl"]
值并使用Response.Redirect(ViewState["PreviousPageUrl"].ToString())
返回
使用普通的 html 按钮并添加 history.back() 函数。
这将适用于所有浏览器,无需服务器端代码/回发。
快乐编码!!
一个选项是使用 javascript history
对象。
在按钮上,将代码放在OnClientClick="javascript: history.go(-1); return false;"
这将只转到上一页。
<asp:Button id="btnClick" runat="Server" text="Back" OnClientClick="javascript: history.go(-1); return false;" />
您可以使用"链接"按钮,如果您使用的是母版页,则根据页面所在的页面分配相关的导航 URL。就像你有一个链接按钮
<asp:HyperLink ID="HyperLink8" NavigateUrl="Login.aspx"
runat="server">Login</asp:HyperLink>
在代码隐藏中,您可以更改其 URL。
if (Session["User"] != null)
{
HyperLink8.Text = "Logout";
HyperLink8.NavigateUrl = "Logout.aspx";
}
else
{
HyperLink8.Text = "Login";
HyperLink8.NavigateUrl = "Login.aspx";
}