2012-02-06 21 views
1

在我的应用程序中,我希望能够发送电子邮件给用户。在电子邮件中我想要一个到应用程序页面的URL链接,但是url必须是通用的(因为我需要能够从数据库获取一些数据,取决于电子邮件的通用部分)。MVC 3代URL

例如:

我发送电子邮件给用户提供网址:www.testpage.com/recetpassword/Qb12T

在网页上我需要从DB和例如获取数据的负载说欢迎您帐号(我从数据库中获得)。

不好的例子,但它说明了什么,我需要

+0

http://stackoverflow.com/q/5025059/1178921 – deltree 2012-02-06 19:11:46

+0

对不起,但我们如何专门帮助你? – 2012-02-06 19:12:18

+0

太好了。你有什么尝试?你有什么问题?向我们展示您的代码和您遇到的问题?现在你的文章只显示你想要做的事情;不是你实际遇到的问题。 – 2012-02-06 19:12:21

回答

1

看起来你需要在你的Global.asax.cs文件中添加一个新的静态路由:

routes.MapRoute(
       "reset_password", // Route name 
       "resetpassword/{id}", 
       new { controller = "SomeController", 
         action = "ChangePassword", 
         id = UrlParameter.Optional 
       } 
      ); 

然后在您的控制器:

public class SomeController : Controller { 

    [HttpGet] 
    public ActionResult ChangePassword(string id){ 

     /* change password logic/domain calls */ 

     return View(/* some model */); 
    } 

} 
+1

添加路由并获得该部分后,可以使用Url.RouteUrl(“reset_password”,new {id =“Qb12T”},“http”)或Url.Action(“ChangePassword”,“SomeController”),新的{id =“Qb12T”},“http”)来生成您的链接,以放置在您的外发电子邮件中。 – 2012-02-06 19:19:14

+0

@ Splash-X同意 – xandercoded 2012-02-06 19:20:22

+0

本地测试Url如何调用该路由? – Timsen 2012-02-06 19:30:32