2015-05-15 87 views
1

我有一个运行C#代码的按钮上的点击事件,所以我把我的C#代码放到了jQuery中使用@{...}@{...}中的代码在其他代码之后运行。jQuery在其他代码之后运行C#代码

HTML代码:

<button type="submit" id="TestRegex" class="btn btn-default">Test Regex</button> 

的jQuery:

$("#TestRegex").click(function() { 
      @{ 
       var testdata = Request["TestData"]; 
       var expression = Request["RegexPattern"]; 
       string regexMatchResult = "No Match"; 
       string dateMatchResult = "No Match"; 

       if (!string.IsNullOrEmpty(testdata) || !string.IsNullOrEmpty(expression)) 
       { 
        bool regexMatch = 
         System.Text.RegularExpressions.Regex.IsMatch(testdata, expression, System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
        bool dateMatch = false; 

        foreach (var item in System.Text.RegularExpressions.Regex.Matches(testdata, expression)) 
        { 
         dateMatch = string.Compare(item.ToString(), testdata, true) == 0; 
        } 

        regexMatchResult = regexMatch ? "RegEx Match" : "No Match"; 
        dateMatchResult = dateMatch ? "Date Matches" : "No Match"; 
       } 
       } 

      $('#RegExMatch').text("@regexMatchResult"); // 
      $('#DateMatchResult').text("@dateMatchResult"); // These codes are run before codes above 

     }); 

回答

0

这部分应该是在顶部

@{ 
       var testdata = Request["TestData"]; 
       var expression = Request["RegexPattern"]; 
       string regexMatchResult = "No Match"; 
       string dateMatchResult = "No Match"; 

       if (!string.IsNullOrEmpty(testdata) || !string.IsNullOrEmpty(expression)) 
       { 
        bool regexMatch = 
         System.Text.RegularExpressions.Regex.IsMatch(testdata, expression, System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
        bool dateMatch = false; 

        foreach (var item in System.Text.RegularExpressions.Regex.Matches(testdata, expression)) 
        { 
         dateMatch = string.Compare(item.ToString(), testdata, true) == 0; 
        } 

        regexMatchResult = regexMatch ? "RegEx Match" : "No Match"; 
        dateMatchResult = dateMatch ? "Date Matches" : "No Match"; 
       } 
       } 

,然后在脚本标签

$(document).ready(function(){ 
    $('#RegExMatch').text("@regexMatchResult"); // 
    $('#DateMatchResult').text("@dateMatchResult"); 


    $("#TestData").text("@testdata "); 
    $("#RegexPattern").text("@expression "); 
}); 
+0

这工作完美...有没有办法不清除我的文本框中的值(TestData和RegexPattern)? –

+0

你可以请分享这个 –

+0

的代码是否意味着在点击事件执行后在这些文本框中保留值? –