老熟女激烈的高潮_日韩一级黄色录像_亚洲1区2区3区视频_精品少妇一区二区三区在线播放_国产欧美日产久久_午夜福利精品导航凹凸

重慶分公司,新征程啟航

為企業提供網站建設、域名注冊、服務器等服務

ASP.NETWeb開發中如何進行數據輸入窗體

這期內容當中小編將會給大家帶來有關ASP.NET Web開發中如何進行數據輸入窗體,文章內容豐富且以專業的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

創新互聯公司專注為客戶提供全方位的互聯網綜合服務,包含不限于成都做網站、網站建設、鐘樓網絡推廣、微信小程序開發、鐘樓網絡營銷、鐘樓企業策劃、鐘樓品牌公關、搜索引擎seo、人物專訪、企業宣傳片、企業代運營等,從售前售中售后,我們都將竭誠為您服務,您的肯定,是我們最大的嘉獎;創新互聯公司為所有大學生創業者提供鐘樓建站搭建服務,24小時服務熱線:18982081108,官方網址:www.cdcxhl.com

Web框架要達到快速開發,又便于維護,進行了一系列的努力。

請看最初始的ASP.NET頁面,對數據進行操作的代碼,頁面的基本代碼如下所示

protected void Page_Load(object sender, EventArgs e)  {         if (!IsPostBack)         {                LoadData();          }  }   private void LoadData()   {       UserEntity  current=GetUser();
     tbxName.Text = current.Name;       tbxRemark.Text = current.Remark;  }   protected void btnSave_Click(object sender, EventArgs e)  {                 int id = GetQueryIntValue("id");                      IXRoleManager menuManager = ClientProxyFactory.CreateProxyInstance();              XRoleEntity item = menuManager.GetXRole(id);               item.Name = tbxName.Text.Trim();              item.Remark = tbxRemark.Text.Trim();                       menuManager.SaveXRole(item);              ExtAspNet.Alert.Show("Save successfully");  }

在Page_Load中加載數據,并綁定到控件中去。在保存按鈕事件中,把用戶修改過的值,再寫回到數據庫中。這樣的代碼,在項目中要重復很多次,數據項越多,所需要的代碼量越大。有沒有一種辦法,可以實現自動綁定數據到控件中,在保存中,又自動將數據寫回到數據庫中去呢? Enterprise Solution以下面的方法來實現。

Enterprise Solution對于要輸入數據并保存到數據庫中的這一類操作,統一提供相同的界面,對數據快速操作。以記事本為例子,它的最終效果是這樣的

ASP.NET Web開發中如何進行數據輸入窗體

工具欄按鈕由框架自動加載,當你的類型繼承自EntryPageBase時,它就會加載工具欄,用于操作數據。

[Function("AIITRL", "~/module/note.aspx")]  public partial class note : EntryPageBase  {          protected override void PageLoadEvent(object sender, EventArgs e)          {              if (!IsPostBack)                             TransactionType = "BlotterEntity";                                          base.PageLoadEvent(sender, e);          }  }

重寫基類的PageLoadEvent方法,傳入TransactionType ,框架以TransactionType 來識別界面的實體對象,自動實現讀寫操作。頁面中的加載,保存,刪除按鈕事件的代碼如下,可以看到,它們都是在重寫基類的方法

public override EntityBase2 LoadEntity(string customerNo)   {       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance();       BlotterEntity customer = manager.GetBlotter(Convert.ToInt16(customerNo));       return customer;   }        public override void DeleteEntity(EntityBase2 entity)   {       BlotterEntity user = (BlotterEntity)entity;       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance();       manager.DeleteBlotter(user);   }    public override void SaveEntity(EntityBase2 entity)   {       BlotterEntity user = (BlotterEntity)entity;       IBlotterManager manager = ClientProxyFactory.CreateProxyInstance();       manager.SaveBlotter(user);   }

如你所看到的,這就是所有的代碼,關于數據加載,保存,刪除的代碼,沒有數據綁定,也沒有數據回寫到數據庫中的代碼。***,來看一下,ASPX頁面,是如何達到這個目的的

每一個需要綁定數據的ExtAspNet控件,附帶一個DataBindingString屬性,指出綁定到對象的屬性名。這個數字輸入框是綁定到記事本的Id屬性,在設計時,你可以這樣指定它

Web框架提供了快速的數據屬性綁定支持,請先在配置文件中指定需要反射的程序集完整路徑。

         

DataBindingString的編輯器,反射此程序集,把它的屬性顯示在ListView中,用于綁定。

應用此模型,明顯的減少了代碼量。比如,有100個控件,就要寫100行讀取值并到綁定到界面中的代碼,在保存時,再寫100行代碼,把值回寫到數據庫中。而此開發方法,數據的綁定是自動的,您只需要指定必要的屬性,框架會為你做好其它的事情。再來看看,要實現此方法,背后要做出的努力

1  需要指定要反射的類型,TransactionType = "BlotterEntity"; 這一句的作用相當關鍵。

2  將反射的值,綁定到控件。依據反射,賦值的代碼,如下所示

ReflectionHelper.SetPropertyValue(textbox, targetProperty, obj);

這一句就是用來給值的,把從數據庫中取到值,轉化為可用的類型,賦給textbox的Text屬性,完成數據綁定。

3  回寫值到數據庫中。依然是反射,把值取到,賦給Entity

object obj = ReflectionHelper.GetPropertyValue(textbox, targetProperty);  object converted = Convert.ChangeType(obj, type);  ReflectionHelper.SetPropertyValue(entity, arr[1], converted);

如代碼所示,取到值,回寫到實體類的屬性中。起關鍵作用的,還是DataBindingString字符串。

再來看看,主從表數據的讀寫,這比上面的單表讀寫,要復雜一些。

ASP.NET Web開發中如何進行數據輸入窗體 

銷售單由表頭,參考編號和明細多行物料編號組成。表頭的讀寫,可以用上面的方法,在明細的數據讀取上,重寫方法

protected override void InitNavigator(EntityBase2 entity)  {         SalesOrderEntity user = (SalesOrderEntity)entity;         Grid1.DataSource = user.SalesOrderDetails;         Grid1.DataBind();  }

InitNavigator用于獲取當前實體,綁定值到明細列表中。Insert按鈕的的實現原理如下,它把表頭的主鍵值,帶到明細頁面中去,用HiddenField藏在頁面中。這樣,在保存明細時,以此值作為主鍵保存。當返回表頭時,刷新主表,重新獲取值,則可以顯示明細表增加的值。

上述就是小編為大家分享的ASP.NET Web開發中如何進行數據輸入窗體了,如果剛好有類似的疑惑,不妨參照上述分析進行理解。如果想知道更多相關知識,歡迎關注創新互聯行業資訊頻道。


當前名稱:ASP.NETWeb開發中如何進行數據輸入窗體
瀏覽地址:http://www.xueling.net.cn/article/geoppo.html

其他資訊

在線咨詢
服務熱線
服務熱線:028-86922220
TOP
主站蜘蛛池模板: 国产成人无码aa片免费看 | 殴美性猛交 | 草草视频网站 | 欧美性爱一区三区 | 少妇人妻真实偷人精品视频 | 谍战剧《惊弦》在线观看免费高清 | 91青青草 | 中国av一区二区三区 | 国产精品无码一区二区三区免费 | av影院在线播放 | 成人羞羞视频免费 | 91av精品视频| 欧美ⅴa | 人妻少妇邻居少妇好多水在线 | 国产一二区老熟女 | 人人成人 | 又爽又黄axxx片免费观看 | 91在线官网| 日韩人妻无码精品一专区二区三区 | 丰满的少妇xxxxx人伦理 | 日日碰日日摸日日澡视频播放 | 手机看片日本 | 久久a区 | 中国农村熟妇性视频 | 欧美日韩一区在线播放 | 91在线精品视频 | 国产亚洲精品久久久久久青梅 | 欧美一级特黄aaaaaaa色戒 | 国产无码在线手机观看 | 国产视频二区在线观看 | 欧美在线精品一区 | 精品一区在线免费观看 | 国产91精品在线播放 | 丰满人妻一区二区三区视频53 | 日日摸夜夜添夜夜添人人老牛 | 999久久a精品合区久久久 | 一眉道姑免费观看高清 | 法国a级情欲片性船 | 插插插精品亚洲一区 | 国产中文字幕在线看 | 精品乱码一区二区三四区视频 |