1

是否可以动态更改按钮回发 url 属性?例如,我有 3 页,即salesListing.aspx,orderlisting.aspxcreateDetail.aspx.

和允许用户导航到salesListing页面。但是在我有一个后退按钮。orderlistingcreateDetailcreateDetail.aspx

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

例如,用户单击 orderlisting,然后单击 createDetail 页面。当他单击后退按钮时,后退按钮保存用户 ID 并将用户带回订单列表。

4

5 回答 5

0

一个选项就是使用 javascripthistory对象。

在您的按钮上,输入代码OnClientClick="javascript: history.go(-1); return false;"

这将只是转到上一页。

<asp:Button id="btnClick" runat="Server" text="Back" OnClientClick="javascript: history.go(-1); return false;" />
于 2012-05-28T09:21:06.437 回答
0

Request.UrlReferrer.ToString();在第一页加载时使用并存储它。

if( !IsPostBack )

{ ViewState["PreviousPageUrl"] = Request.UrlReferrer.ToString(); }

重定向到第二页后,如果您想返回

获取ViewState["PreviousPageUrl"]价值并返回使用Response.Redirect(ViewState["PreviousPageUrl"].ToString())

于 2012-05-28T09:26:52.380 回答
0

您可以使用链接按钮,如果您使用的是母版页,则根据所在页面分配相关的导航 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";
}
于 2012-05-28T09:07:14.373 回答
0

我已经编写了一个项目,它将自动为您管理所有向后导航,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"/>

然后在代码中,从 salesListing 移动到您编写的 createDetail:

StateController.Navigate("Next");

要从 createDetail 返回到 salesListing,您可以编写:

StateController.NavigateBack(1);

如果您有兴趣或需要任何帮助,请告诉我。

于 2012-05-28T09:16:33.927 回答
0

使用普通的 html 按钮并添加 history.back() 函数。

<input type="button" Value="Back" onClick="History.back();">

这将适用于所有浏览器,不需要服务器端代码/回发。

快乐编码!!!

于 2012-05-28T10:29:35.003 回答