首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> C語言 >> 關於C語言

C# XML 驅動的 ASP.NET 控件輸入長度限制元件(二):頁面整合與 XML 結構設計

     編輯:關於C語言

頁面端呼叫範例


private void Page_Load(object sender, EventArgs e)
{
    strMsg = "";

    // 取得限制配置
    object obj = XMLSize.XmlRestrict.Restrict(
        "webPath",           // AppSettings 金鑰
        "Notice_Login_txtContent", // 頁面控件 ID
        XMLRestrict.res      // 輸出結構
    );
    XMLRestrict.res = (strRestric)obj;

    // 套用至控件
    this.lblTxt.Text = XMLRestrict.res.msgPage;
    this.txtContent.MaxLength = XMLRestrict.res.size;
    this.strMsg = XMLRestrict.res.msgPrompt;
}

XML 配置檔結構




  
    
    Notice_Login_txtContent
    
    
  
  
    
    
    
    
  

結構對應關係

XML 節點對應屬性用途
PageId頁面控件 ID唯一識別,對應 Control.ID
Control/@value最大長度整數,設定 MaxLength
Message頁面顯示訊息給使用者看的提示文字
Name保留欄位擴展用途

改進建議

  1. 快取機制:XML 解析結果應快取,避免每次請求重複載入
  2. 強型別配置類別:使用 XmlSerializer 反序列化為 POCO,替代手動 XmlDocument 導航
  3. 支援多種驗證規則:擴展 Control 節點加入 type="number|email|regex" 屬性
  4. 錯誤處理:目前 catch { } 吞沒異常,建議記錄日誌並回傳預設值
  5. 路徑解析:使用 Server.MapPath 而非 AppSettings 串聯路徑

現代化替代方案

  • DataAnnotations + ModelValidator(MVC/Web API)
  • FluentValidation 程式碼優先驗證
  • 前端 maxlength + 後端再次驗證(雙重保障)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved