postbackurl 使用者控制項頁面傳值總結
今天在除錯郵件傳送的時候,發現了get傳遞資料的最大值問題,檢視
了有關資料說get方式最大的傳遞值為2k(包括url字元)。
因此只能修改**,換別的方式。本來計畫使用post方式,但是post方
式無法獲取使用者控制項中的資訊,所以此方法作罷。
以下介紹使用asp.net 2.0的新特性postbackurl進行頁面見傳值。
一 呼叫普通控制項資訊
1 源頁面
text="posttoanotherpage" postbackurl="~/test.aspx" />
2 被提交的頁面
如果是普通的控制項只需要以下方法即可:
if (previouspage != null)
二 呼叫使用者控制項資訊
1 繼承方式
(1) postdatabase.cs
using system.collections.generic;
///
/// postdataurl方式頁面傳值抽象類
///
public abstract class postdatabase : system.web.ui.usercontrol
public abstract string checkedorgnamestring
public abstract listcheckedorgcodelist
public abstract listcheckedorgnamelist
}(2) usercontrol.ascx.cs**
public partial class controls_usercontrol :postdatabase
}///
/// 獲取treeview選中的單位名稱
///
public override string checkedorgnamestring
}///
/// 獲取treeview選中的單位**
///
public override listcheckedorgcodelist
}///
/// 獲取treeview選中的單位名稱
///
public override listcheckedorgnamelist}}
(3) test.aspx.cs**
///
/// 獲取父頁面的單位資訊
///
protected string orgcodes
if (previouspage == null)
postdatabase hid = previouspage.form.findcontrol
("contentplaceholder1").findcontrol("orgtree") as
postdatabase;
if (hid == null)
else}}
注意:如果有模版頁巢狀則使用
postdatabase hid = previouspage.form.findcontrol
("contentplaceholder1").findcontrol("orgtree") as
postdatabase;
如果沒有則使用
postdatabase hid = previouspage.form.findcontrol("orgtree") as
postdatabase;
2 例項類方式
(1) source.aspx.cs**
定義獲取使用者控制項資料的屬性
public string getorgcodes
else}}
(2) test.aspx頁
<%@ previouspagetype virtualpath="source.aspx" %>
使用previouspagetype註冊後,可以再後台**中使用智慧型提示(如果
沒有智慧型提示,編譯後再試就有了)
(3) test.aspx.cs**
///
/// 獲取父頁面的單位資訊
///
protected string orgcodes
}
PostBackUrl在MasterPage下出錯
昨天,在程式中採用了postbackurl,開始,頁面沒有應用masterpage,用previouspage.findcontrol很正常,後來,頁面應用了masterpage,就會出現找不到物件的錯誤。解決方法是在搜尋控制項的時候考慮到masterpage的存在,從那裡開始找,類似這樣 stri...
PostBackUrl跨頁傳值
頁面和頁面之間傳引數可以通過url,也可以通過form來傳值,今天總結的是另外一種,跨頁傳參。伺服器button有乙個postbackurl屬性,這個是用來回傳的,直接寫 算了。一 請求頁面 html page language c autoeventwireup true codebehind r...
使用者控制項用法
namespace usecontroltes.newfolder1 set private void page load object sender,system.eventargs e region web 窗體設計器生成的 override protected void oninit even...