c# - 使用 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 表单)。
解决方案
GET
参数原语在请求的 URL 中传递。
MVC 通过模型绑定将查询字符串参数映射到方法参数。所以你可以像这样简单地写你的Controller
和你的Action
:
public class YourController: Controller
{
[Route("Registers/Activation")]
public ActionResult Get(string emailId, string codeType, string type)
{
}
}
使用Request.QueryString
工作,但就如何在 MVC 中完成而言这是错误的。
推荐阅读
- spring-boot - 为什么我不能访问映射器中的嵌入属性?
- bash - 以浏览器为中心运行脚本
- javascript - 使用 chart.js 仅显示某些标签
- java - 使用 Micrometer 发布 Spring Batch 指标
- excel - excel单元格格式错误 - 此单元格中的数字格式为文本或前面有撇号
- java - JAVA - 如何进行购买.products.acknowledge 请求
- sql - 如何从 postgresql sql 表中删除重复的行
- flutter - 修复不可为空的 Dartz 包
- php - 为什么在我确定安装了 brew install php 之后,我仍然在 mac 上收到 Php 警告?
- sql - 无法在 Redshift 中将列类型更改为较短的 VARCHAR。获取“目标列大小应大于或等于当前最大列大小”