首页 > 解决方案 > 使用 ASP.NET MVC 5 Entity Framework 通过 URL 将查询字符串值传递给 ActionResult 方法的不同方法

问题描述

我正在将查询字符串值邮件程序 url 传递给操作方法。

我像下面的 URL 一样传递给我的激活ActionResult

body += "Please click <a href=" + LinkPath + "Registers/Activation?emailId=" + emailid + "&uCode=" + activationCodes + "&type=" + a + ">here</a> to active your account" + "<br><br>";

很简单,我可以将查询字符串值传递给操作方法,如下所示。激活是我的操作方法:

www.xyz.com/Registers/Activation?emailId=mazharkhan@gmail.com&uCode=12458475

我也在我的Activation方法中得到一个查询字符串值,如下所示

Request.QueryString["emailId"].ToString();

实际上,我以前对 asp.net Web 表单的体验现在正在使用 ASP.NET MVC 5 和 Entity Framework。

我的问题是可以在我的邮件程序中传递查询字符串值(如 Web 表单)。

标签: c#asp.netasp.net-mvc-5query-string

解决方案


GET参数原语在请求的 URL 中传递。

MVC 通过模型绑定将查询字符串参数映射到方法参数。所以你可以像这样简单地写你的Controller和你的Action

public class YourController: Controller
{
    [Route("Registers/Activation")]
    public ActionResult Get(string emailId, string codeType, string type)
    {
    }
}

使用Request.QueryString工作,但就如何在 MVC 中完成而言这是错误的。


推荐阅读