2017-11-27 11 views
0

私のページにRegularExpressionValidatorコントロールを持っています&正しいValidationExpressionを持っている私のコードのグローバルパブリック正規表現変数を持っています&オプション& TimeSpan。私は私のページコントロールに追加したいRegexをASP.Netページのコードの背後にあるValidationExpressionに追加するには?

public partial class Index : System.Web.UI.Page 
{ 
    public Regex regex; 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Page.DataBind(); 


     if (!IsPostBack) 
     { 
      regex = new Regex("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*", RegexOptions.Singleline, TimeSpan.FromSeconds(5)); 
     } 

    } 
} 

: ベローは私の分離コードコードです。それはそれを識別しますが、妥当性チェックエラーが常に表示され、正しく動作しません。私は入力しようとしました。最初のものはエラーはないが、誤った反応がある。ページが読み込まれないようにするページエラーを伴う2番目のもの。

のWebPageにおける第一のタイプのコードは以下の通りです:

<asp:RegularExpressionValidator ID="REV" runat="server" Text="Incorrect Format" ForeColor="Red" ControlToValidate="txt1" ValidationExpression="<%# regex %>" Display="Dynamic" /> 

のWebPageにおける第二のタイプのコードは以下の通りです:

<asp:RegularExpressionValidator ID="RegularExpressionValidator1" runat="server" Text="Incorrect Format" ForeColor="Red" ControlToValidate="txt1" ValidationExpression="<%# regex.Match(txt1.Text) %>" Display="Dynamic" /> 

どのように私はこの問題を解決することができます。どうもありがとうございました:)

答えて

0

幸いにも私は1つの事を逃しています。&私は私の問題の解決策を見つけるの約18時間後突然。

問題は、我々は勝利(& WPF Winフォーム&のような...)アプリベースのC#であると私は正規表現を呼ばれるたびにそれがnullだったように、通常のグローバル変数を持っていけないということです。グローバル変数が必要な場合はクラス変数を持たなければなりませんので、静的変数regexを与える静的変数を作成します(私は毎回& ...のように新しいインスタンスを作成したくないためです)良い。あなたに私のコードを教えてください。以下

は私が行かなければならない真の方法です

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text.RegularExpressions; 
using System.Web; 
using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Index : System.Web.UI.Page 
{ 
    public static class RGX 
    { 
     public static Regex regex = new Regex("\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*", RegexOptions.Singleline, TimeSpan.FromSeconds(5)); 
    } 
    protected void Page_Load(object sender, EventArgs e) 
    { 
     Page.DataBind(); 
    } 
} 

私は

<asp:RegularExpressionValidator ID="REV" runat="server" Text="Wrong Format" ControlToValidate="txt1" Display="Dynamic" ValidationExpression="<%# RGX.regex %>"></asp:RegularExpressionValidator> 
私はいくつかの体は私を助けることを望ん

以下のようにページのコードでコントロールを使用しますが、誰も助けない&最後に私が見つけましたソリューションは約18時間の時間を費やしています。それは私に多くの費用がかかりました。

関連する問題