Dyanmic 更改按钮回发 URL asp.net

本文关键字:URL asp net 按钮 Dyanmic | 更新日期: 2023-09-27 18:35:34

是否可以动态更改按钮回发 URL 属性?例如,我得到了 3 页,分别是 salesListing.aspxorderlisting.aspxcreateDetail.aspx 页。

salesListingorderlisting允许用户导航到createDetail页面。然而,在createDetail.aspx我得到了一个后退按钮。

后退按钮是否有可能检测哪些页面导致回发?并且,当用户单击后退按钮时,后退按钮将保存记录并将其带回上一页?

例如用户单击订单列表,然后单击创建详细信息页面。当他单击后退按钮时,后退按钮保存用户 ID 并将用户带回订单列表。

Dyanmic 更改按钮回发 URL asp.net

我写了一个项目,它会自动为您管理所有后退导航,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";
}