[英]Dyanmic change button postback url asp.net
是否可以動態更改按鈕回發URL屬性? 例如,我有3個頁面,即salesListing.aspx
, orderlisting.aspx
和createDetail.aspx
。
salesListing
和orderlisting
允許用戶導航到createDetail
頁面。 但是在createDetail.aspx
我有一個后退按鈕。
后退按鈕是否有可能檢測出導致回發的頁面? 而且,當用戶單擊“后退”按鈕時,“后退”按鈕將保存記錄並將其返回到上一頁嗎?
例如,用戶單擊訂單清單,然后單擊createDetail頁面。 當他單擊后退按鈕時,后退按鈕將保存用戶ID並將用戶帶回到訂單清單。
您可以使用鏈接按鈕,如果您使用的是母版頁,則根據所在頁面分配相關的導航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";
}
我已經寫了一個項目,該項目可以自動為您管理所有的向后導航, 網址為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);
如果您有興趣或需要任何幫助,請告訴我。
一個選擇就是使用javascript history
對象。
在您的按鈕上,輸入代碼OnClientClick="javascript: history.go(-1); return false;"
這將轉到上一頁。
<asp:Button id="btnClick" runat="Server" text="Back" OnClientClick="javascript: history.go(-1); return false;" />
使用Request.UrlReferrer.ToString();
並將其存儲在首頁加載中。
if( !IsPostBack )
{ ViewState["PreviousPageUrl"] = Request.UrlReferrer.ToString(); }
重定向到第二頁后,如果您想返回
獲取ViewState["PreviousPageUrl"]
值,然后使用Response.Redirect(ViewState["PreviousPageUrl"].ToString())
使用普通的html按鈕並添加history.back()函數。
<input type =“ button” Value =“ Back” onClick =“ History.back();”>
這將適用於所有瀏覽器,無需服務器端代碼/回發。
快樂編碼!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.