ASP를 해결하는 방법NET가 새로 추가되었을 때 다중 필드 값을 얻는 문제

2894 단어
ASP.NET 개발자들은 카드를 보낼 때 자주 만나는 경우가 있다. 새로 추가된 페이지에 필드가 너무 많아서 저장을 클릭할 때 하나의 값 부여 실체나 SQL 문구를 구축하여 저장해야 한다.이렇게 하면 체력을 낭비할 뿐만 아니라 대량의 텍스트 줄 컨트롤을 사용하여 코드를 써야 한다.구상을 거쳐 더욱 편리한 방법으로 해결할 수 있습니까?코드의 내중성을 높이다.
 1.사고의 방향
일반적으로 새로 추가된 페이지가 가장 많은 것은 사용자가 내용을 입력할 수 있도록 한 텍스트 상자들이고 저장 단추를 누르면 제출을 해서 데이터를 데이터베이스에 영구화하는 것이다.
제출을 눌렀을 때 전통적인 방식은 텍스트 상자의 읽기 할당 값입니다.
HTML 코드는 다음과 같습니다.

 
 

按钮提交事件代码:


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) 
 {       
   Dictionary entityDic = new Dictionary();       
   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. 먼저 사전 집합을 정의하여 필드 텍스트 상자에 있는 값을 저장한다. 키 메모리는 명시되고value는 실제 입력한 값을 저장한다.
 2. 용기에 있는 컨트롤러를 반복해서 훑어보고 집합에 노드를 추가합니다. 키는 컨트롤러의 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가 새로 추가한 다중 필드의 값을 얻는 방법은 여러분이 자세히 읽고 자신의 학습에 활용하시기 바랍니다.

좋은 웹페이지 즐겨찾기