2012-04-12 72 views
0

我不會問這個問題,甚至不需要爲此考慮適當的標題,但我會一步步地完成。
我有一個休息服務項目,另一個項目爲MVC3。
我的MVC3項目通過ajax訪問其餘的服務。
即:內部MVC視圖如何在mvc中執行註冊以驗證帳戶?

<script type="text/javascript"> 
    $(document).ready(function() { 
     $("#submit").click(function() { 
      $.ajax({ 
       url: 'http://localhost:2222/RestService/User/Register', 
       type: 'POST', 
       contentType: 'application/json', 
       data: JSON.stringify({ 
        RollNumber: $("#username").val(), 
        Email: $("#email-address").val(), 
        Password: $("#password").val(), 
        Birthday: $("#bday").val() 
       }), 
       success: function (response) { 
        if (response == true) { 
         window.location.replace('@Url.Action("Index", "Home")'); 
        } else { 
         showtooltip('Registration failed.'); 
        } 
       }, 
       error: function (xhr, ajaxOptions, error) { 
        showtooltip(xhr.status + ': ' + error); 
       } 
      }); 
     }); 
    }); 
</script> 

如果用戶註冊成功,MVC會自動發送一封電子郵件。
即:針對電子郵件內容的示例:

WELCOME TO NEWWEBSITE! 

You have successfully registered! 
. 
. 
. 
To validate your email address, please go to the link below: 

http://localhost:1111/NewWebsite/Auth/Verify?verificationid=3DE4ED727750215957F8A1E4B117C38E7250C33&email=sampleemail%40yahoo.com 

那我就不知道該怎麼做下一步。
如果用戶點擊了鏈接來驗證他的帳戶,我怎麼能從鏈接中獲取信息?

我創建了一個REST服務進行驗證

[WebGet(UriTemplate = "RestService/User/Verify?verificationid={verificationid}&email={email}", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json)] 
public bool VerifyAccount(string verificationid, string email) 
{ 
    RestLogicClass.RestLogic.UserComponent svc = new RestLogicClass.RestLogic.UserComponent(); 
    return svc.ValidateEmail(new RestLogicClass.Entities.UserEmail() { EmailAddress = HttpUtility.HtmlDecode(email), ValidateKey = verificationid }); 
} 

這項服務可以通過被稱爲:

http://localhost:2222/RestService/User/Verify?verificationid={verificationid}&email={email} 

如果電子郵件已經被驗證,那麼它必須向用戶顯示「驗證.cshtml「頁面從mvc。
此頁面可以訪問這種方式:

http://localhost:1111/NewWebsite/Auth/Verify 

希望你能理解我的交代。我是新來的這種數據處理,所以如果你有更好的主意,請分享。

回答

0

爲了顯示Verify.cshtml。我認爲你應該有一個動作名稱

public ActionResult Verify(string verificationid, string email) 
{ 
    //// call the service from here and validate 
    //// if valid then return View(); 
} 

此外,當你生成的電子郵件,生成此網址。

+0

嗯..似乎是個好主意。我會嘗試。 – fiberOptics 2012-04-13 01:37:25