2015-05-15 118 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

的代碼是否意味着在點擊事件執行後在這些文本框中保留值? –