婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 如何解決ASP.NET新增時多字段取值的問題

如何解決ASP.NET新增時多字段取值的問題

熱門標簽:南昌自動外呼系統線路 安陸市地圖標注app 辦公用地圖標注網點怎么操作 西寧電銷外呼系統公司 聊城智能電銷機器人電話 寧德防封版電銷卡 海東防封電銷卡 云南外呼系統代理 上海市三維地圖標注

ASP.NET 開發人員在卡發時經常會碰到一個情況,就是新增的頁面中字段太多,在點擊保存的時候需要一個一個的賦值實體或者構建SQL語句去保存。這樣不僅浪費體力還需要占用大量的文本行控件去寫代碼。經過構思是否可以使用一種更方便的辦法去解決呢?提高代碼的內聚性。

 1.思路

 我們知道一般新增頁面最多的就是一大堆文本框讓用戶輸入內容,然后點擊保存按鈕進行提交將數據持久化到數據庫。

在點擊提交的時候傳統方式就是一個一個文本框的讀取賦值。

 HTML代碼如下:

asp:TextBox ID="TextBox2" runat="server" Text="TextBox2" >/asp:TextBox> 
asp:TextBox ID="TextBox3" runat="server" Text="TextBox3" >/asp:TextBox> 
asp:Button ID="Button2" runat="server" Text="提交" onclick="Button2_Click" /> 

按鈕提交事件代碼:

protected void Button2_Click(object sender, EventArgs e) 
{       
  string colName1 = TextBox2.Text;
  string colName2 = TextBox3.Text;       
  DataSave(colName1,colName2); 
} 


如果頁面的字段特別多就會導致需要些很多的賦值語句。所以在多字段的情況下我們可以去遍歷頁面上的控件去賦值,然后將結果放入集合中去提交持久化數據。

按鈕提交時間代碼:

protected void Button2_Click(object sender, EventArgs e) 
 {       
   Dictionarystring, string> entityDic = new Dictionarystring, string>();       
   foreach (Control cnl in MyPanel.Controls)       
   {         
      if (cnl is TextBox)         
      {           
       TextBox tb = (cnl as TextBox);           
       entityDic.Add(tb.GetMapColumnsName(), tb.Text);         
      }       
   }        
   IDBHelper dbHelp = DataBaseProvider.Instance.GetDBHelper("orm");       
   string result = dbHelp.DataSave(entityDic);     
} 

分析一下代碼:

1.首先定義一個字典集合用來存放字段文本框中的值,key 存列明,value存實際輸入的值

 2. 循環遍歷容器中的控件,給集合添加節點,key為控件的ID也就是數據庫的列明,value是實際輸入的值,也就是需要新增到數據庫的值

3.調用保存方法保存數據

問題:

這個時候可能有人會問了,將頁面上的控件名字跟數據庫的字段名如果保持一致是不是太不安全啦?解決這個問題的辦法,就是將數據庫字段一自己自定義的一種算法加密顯示在頁面,在封裝一個TextBox的擴展方法,這個方法用來解析這個算法,返回正確的列明,代碼如下:

public static class TextBoxEx 
{    
  public static string GetMapColumnsName(this TextBox my)    
  {      
   string myColumnsName = my.ID;      
   //將來文本ID可以為了安全存為加密過的值 這里可以負責解密      
   return myColumnsName;    
  }  
} 

這樣就可以用很少的代碼來解決,新增或者編輯時,頁面的字段太多的問題啦!

2.應對需求的更變

 現在我們如果頁面的字段新增了,或者減少了,我們可以不必就該,提交按鈕的事件,而是在頁面上新增或者刪除對應的展示控件就行啦!

例如頁面有5個TextBox控件,如果需要加入一個我們只需在頁面上多寫一個TextBox控件,將ID寫成自己加過密的文本,就OK了!

以上就是跟大家分享的如何解決ASP.NET新增時多字段取值問題的方法,希望大家仔細閱讀,運用到自己的學習當中。

您可能感興趣的文章:
  • Asp.Net+XML操作基類(修改,刪除,新增,創建)
  • asp.net 多字段模糊查詢代碼
  • asp.net中獲取新增加記錄的ID Access版
  • ASP.NET服務器端控件RadioButtonList,DropDownList,CheckBoxList的取值、賦值用法

標簽:崇左 衢州 青海 南寧 洛陽 平涼 汕尾 贛州

巨人網絡通訊聲明:本文標題《如何解決ASP.NET新增時多字段取值的問題》,本文關鍵詞  如何,解決,ASP.NET,新增,時多,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《如何解決ASP.NET新增時多字段取值的問題》相關的同類信息!
  • 本頁收集關于如何解決ASP.NET新增時多字段取值的問題的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 临桂县| 舒城县| 桃园县| 文安县| 祥云县| 苏州市| 壤塘县| 宜兰县| 漯河市| 贵港市| 屏边| 乌鲁木齐市| 长沙市| 呈贡县| 昌吉市| 凌云县| 武功县| 潮安县| 繁昌县| 眉山市| 屏东市| 鱼台县| 德保县| 清苑县| 田林县| 定襄县| 临沭县| 苍南县| 彰化市| 津市市| 顺平县| 海门市| 宿迁市| 沿河| 云和县| 香格里拉县| 迁安市| 泰来县| 新津县| 齐齐哈尔市| 广汉市|