【发布时间】:2022-01-02 04:09:59
【问题描述】:
我正在做一个密码重置项目。
用户会收到一封电子邮件,其网址如下: mysite.com/ResetPass?id=10&token=233rgths567sdsfg
这在 url 中包含一个用户 ID 和 JWT 令牌作为参数。
MVC 控制器显示密码重置页面。
[HttpGet("ResetPass")]
public IActionResult ResetPass([FromQuery] int id, [FromQuery] string token)
{
// How to send the id and token from the Url query string to the Button???
return View("ResetPass");
}
// Reset Password Button
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> ResetPassButton()
{
// How to access the user id and token?
}
我希望在此页面上有一个表单,允许用户更改密码,然后将新密码、用户 ID 和令牌发送到 API 进行处理。
但是如何从 url(用户 ID 和令牌)中获取变量到按钮?
我是否只使用 Viewbag 并将它们传递给页面? 或者有没有办法让按钮只访问 URL 查询字符串?
【问题讨论】:
-
访问控制器中的
Request(尽管在这种情况下,令牌已经绑定到参数..那么为什么要问这个问题呢?)并提取参数/构建模型/运行逻辑。将相关模型/值传递给视图。 (它们是如何提供的——ViewBag、TempData、Model 等——是一个单独的问题。)
标签: c# asp.net-mvc query-string