2012-05-28 64 views
1

是否可以動態更改按鈕回發url屬性?例如,我得到了3頁,即salesListing.aspx,orderlisting.aspxcreateDetail.aspxDyanmic更改按鈕回髮網址asp.net

salesListingorderlisting允許用戶導航到createDetail頁面。然而在createDetail.aspx我有一個後退按鈕。

是否有可能後退按鈕可以檢測哪些頁面導致回發?而且,當用戶點擊後退按鈕時,後退按鈕會保存記錄並將其恢復到上一頁?

例如 用戶單擊orderlisting,然後單擊createDetail頁面。當他點擊後退按鈕時,後退按鈕保存用戶標識並將用戶帶回訂單列表。

回答

0

您可以使用「鏈接」按鈕,如果您使用母版頁,請根據所在的頁面分配相關的導航網址。 就像你有一個鏈接按鈕

<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"; 
} 
+0

可以引導我一些例子 – user998405

+0

按鈕怎麼樣?不是超鏈接? – user998405

+0

按鈕,您可以使用JavaScript,也可以在後面編寫代碼。但是對於後面的javascript來說更好。 onclick =「javascript:history.go(-1); –

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); 

如果您有興趣或想要任何幫助,請告訴我。

0

一個選項只是使用javascript history對象。

在您的按鈕,把代碼OnClientClick="javascript: history.go(-1); return false;"

這將只是去到前一頁。

<asp:Button id="btnClick" runat="Server" text="Back" OnClientClick="javascript: history.go(-1); return false;" /> 
+0

嗨,在我的btnclick中,我可能會做一些功能,例如保存數據並返回到上一頁,是否有可能? – user998405

+0

這並不是真的改變然後回發,但是在回發到相同頁面以保存數據之後做一個'Response.Redirect'。 –

0

使用Request.UrlReferrer.ToString();並將其存儲在首頁加載。

if(!IsPostBack) 

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

重定向到第二頁,如果你以後想回去

得到ViewState["PreviousPageUrl"]值並返回使用Response.Redirect(ViewState["PreviousPageUrl"].ToString())

0

使用普通的HTML按鈕,並添加history.back ()函數。

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

這將適用於所有瀏覽器,並且不需要服務器端代碼/需要回發。

快樂編碼!