![](/img/trans.png)
[英]how to give link to the label and pass querystring to another page in asp.net using c#
[英]Passing Variable from page to page using ASP.NET (C#) without using QueryString
尋找有關在不使用QueryString的情況下從頁面傳遞變量的建議。 像谷歌這樣的網絡抓取工具會抓住網址中的查詢字符串。 我正試圖擺脫使用它。 是否有另一種傳遞變量的建議方法? 我考慮過使用會話變量,但這只是為了簡單地將變量從一個頁面傳遞給另一個頁面,它們並不總是相同。 有任何想法嗎?
另一方面,我不能使用表格。 我正在使用母版頁,其中包含母版頁中嵌入的表單以及內容頁。 除非microsoft更新它,否則您可以在一個頁面上顯示多個表單。
您可以查看使用ASP.NET路由 (可以在沒有MVC的情況下完成) - 然后您可以擁有一個包含數據但沒有查詢字符串的路徑; 就像這里的路徑(實際上是MVC,但同樣的邏輯適用)。
無法使用表單 - 您可以簡單地使用jQuery或類似工具來動態創建表單。
ASP.NET會話存儲怎么樣?
您可以將內容存儲到一個頁面上的會話中,然后從第二頁上的內容中檢索它。
你可以將任何可序列化的東西添加到會話存儲中,它實際上就像一個美化的字典,例如你可以使用任何字符串作為其鍵入其中的東西,並使用相同的鍵在另一頁上檢索它。
看到:
在ASP.Net頁面之間傳遞數據有四種方法。
其中兩個本地化為單個頁面,因此有兩個瀏覽器選項卡將具有不同的參數:
使用查詢字符串,作為查詢字符串參數(您不想要的)或使用路徑(即路由,在不同的答案中描述);
使用POST(表單)參數。 這些對於網絡抓取工具是不可見的;
其中兩個跨越多個頁面:
ASP.Net會議;
餅干。
我認為您正在尋找的是POST(表單)參數。 使用此選項需要您更改將這些參數傳遞給表單的頁面中的鏈接。 Ruby on Rails通過提供一種在后台創建表單的通用機制來執行類似的操作, 並允許您傳遞POST參數而無需實際創建表單 。 當我創建一個方法設置為POST的http://google.com鏈接時,它會生成以下HTML:
<a href="http://google.com" onclick="
var f = document.createElement('form');
f.style.display = 'none';
this.parentNode.appendChild(f);
f.method = 'POST';
f.action = this.href;
var m = document.createElement('input');
m.setAttribute('type', 'hidden');
m.setAttribute('name', 'param1');
m.setAttribute('value', 'value1');
f.appendChild(m);
f.submit();
return false;">Google.com using POST</a>
我已經格式化了上面的一點但是,但在HTML頁面中,這將顯示為一個長字符串.. document.createElement('input');
直到appendChild
允許您設置要傳遞給下一頁的參數。
聽起來你想要使用Cookie。 如果信息是安全的,您可以將值存儲在數據庫中,並將數據庫記錄的唯一ID存儲在cookie中。
如果您只是將信息從一個頁面傳遞到另一個頁面,則可以執行HTTP發布。 如果您正在執行諸如登錄用戶之類的操作,那么您需要使用cookie和/或會話狀態
根據需要,您也可以使用應用程序狀態,因為您可能猜測訪問是所有用戶/會話:
Application.Lock();
Entity e = new Entity("mine");
Application["myVar"] = e;
Application.UnLock();
您可以使用以下之一:
您的主頁面上有文本框和按鈕....
<asp:TextBox ID="input" runat="server"></asp:TextBox>
<asp:Button ID="Bt" runat="server" Text="Button" PostBackUrl="~/Getvalue.aspx" />
現在,您可以從上一頁獲取TextBox
的值到GetValue.aspx
<%=Request.Form["input"]%>
要么
TextBox1.Text = Request.Form["input"]; (TextBox1 is in "GetValue.aspx" )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.