ASP.NET 要從一個網頁(來源網頁)切換到另一個網頁(目標網頁)時,若要抓取來源網頁 ASP.NET 元件內容時,可以有以下兩種做法 GET (這裡指ASP.NET,當然也可以透過 Url 傳參數) & POST 供參考,若有誤也請大家指正:
假設來源網頁為 source.aspx ,目標網頁為 target.aspx 來說
第 1 種方式 : 運用 PerviousPage
Step 1.
source.aspx.cs 中加入:
public String GET_TEL
{
get
{
return txtTel.Text; // 例如取電話欄位的內容,假設為 '1234'
}
}
Step 2.
target.aspx 最上面加入 <%@ PreviousPageType VirtualPath="source.aspx" %>
Step 3.
target.aspx.cs 中就可以利用
string strTel="";
if (PreviousPage != null)
strTel = PreviousPage.GET_TEL; // strTel 應該要等於 '1234'
第 2 種方式 : 運用 Request.Form
Step 1.
source.aspx 中 元件(ex: aspx::Button) 加入 PostBackUrl = "target.aspx"
Step 2.
target.aspx.cs 中引用 using System.Collections.Specialized;
NameValueCollection nvc = Request.Form;
string nextKey, strValue;
for (int i = 0; i < nvc.AllKeys.Length; i++)
{
nextKey = nvc.AllKeys[i];
if (nextKey == "xx001$Content$txtTel") // txtTel 為欄位名稱,實際上這裡比對出為 ClientID 哦是
strValue = nvc.GetValues(i)[0]; // 抓到 '1234' 了
}
假設來源網頁為 source.aspx ,目標網頁為 target.aspx 來說
第 1 種方式 : 運用 PerviousPage
Step 1.
source.aspx.cs 中加入:
public String GET_TEL
{
get
{
return txtTel.Text; // 例如取電話欄位的內容,假設為 '1234'
}
}
Step 2.
target.aspx 最上面加入 <%@ PreviousPageType VirtualPath="source.aspx" %>
Step 3.
target.aspx.cs 中就可以利用
string strTel="";
if (PreviousPage != null)
strTel = PreviousPage.GET_TEL; // strTel 應該要等於 '1234'
第 2 種方式 : 運用 Request.Form
Step 1.
source.aspx 中 元件(ex: aspx::Button) 加入 PostBackUrl = "target.aspx"
Step 2.
target.aspx.cs 中引用 using System.Collections.Specialized;
NameValueCollection nvc = Request.Form;
string nextKey, strValue;
for (int i = 0; i < nvc.AllKeys.Length; i++)
{
nextKey = nvc.AllKeys[i];
if (nextKey == "xx001$Content$txtTel") // txtTel 為欄位名稱,實際上這裡比對出為 ClientID 哦是
strValue = nvc.GetValues(i)[0]; // 抓到 '1234' 了
}
留言
張貼留言