程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> 多文本框的值得存放和賦值

多文本框的值得存放和賦值

編輯:C#入門知識

問題:在一個頁面中有多項考核成績,如:禮貌、表達技巧、電話控制、傾聽技巧、情緒控制等多項考核,而沒想考核又有多項考核標准,如:評分、內容、對話實例等,會這樣下來,一個頁面會有幾百個內容需要存儲,如果新建張表的話會要上百個字段,這明顯是不合適,面對上面的為題我是這樣解決的:
1 在該頁面中按考核標准建立字段,如果有10個考核標准就建立是個字段。
2 每項考核相對應的考核標准要填寫的文本框用有規律的命名方法,如前綴相同的名字+數字(我是這樣命名的)
3 在後台根據相應的名字循環遍歷取出值,後加分隔符,最後存入相應的字段中。
頁面局部圖如下:
 
    

 
 後台處理的主要方法:
插入數據庫中的時候:
//取出所有對話實例列中的值,拼接成字符串賦值給Instance,Score,Content也是同樣的方法
            StringBuilder Instance = new StringBuilder();
            StringBuilder Score = new StringBuilder();
            StringBuilder TutorContent = new StringBuilder();

            for (int i = 1; i <= 52; i++)
            {
                if (Page.FindControl("tbx_Instance" + i).GetType() == typeof(TextBox))
                {
                    Instance.Append((Page.FindControl("tbx_Instance" + i) as TextBox).Text + "#&");
                }
                if (Page.FindControl("tbx_content" + i).GetType() == typeof(TextBox))
                {
                    TutorContent.Append((Page.FindControl("tbx_content" + i) as TextBox).Text + "#&");
                }
                if (Page.FindControl("ddl_S" + i).GetType() == typeof(DropDownList))
                {
                    Score.Append((Page.FindControl("ddl_S" + i) as DropDownList).SelectedValue + "#&");
                }

 數據庫中取出,給相應的文本賦值:
  //給對話實例文本框賦值
                string intance = dtCS.Rows[0]["Example"].ToString();
                string[] sInstance = Regex.Split(intance, "#&", RegexOptions.IgnoreCase);
                for (int i = 1; i < sInstance.Length; i++)
                {
                    (Page.FindControl("tbx_Instance" + i) as TextBox).Text = sInstance[i-1];
                }
                //給輔導內容文本框賦值
                string content = dtCS.Rows[0]["TutorContent"].ToString();
                string[] sContent = Regex.Split(content, "#&", RegexOptions.IgnoreCase);
                for (int i = 1; i < sContent.Length; i++)
                {
                    (Page.FindControl("tbx_content" + i) as TextBox).Text = sContent[i-1];
                }
                //給評分賦值
                string Score = dtCS.Rows[0]["Score"].ToString();
                string[] sScore = Regex.Split(Score, "#&", RegexOptions.IgnoreCase);
                for (int i = 1; i < sScore.Length; i++)
                {
                    (Page.FindControl("ddl_S" + i) as DropDownList).SelectedValue = sScore[i-1];
                }
 
 

摘自  wggKingJust 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved