ASP.Net MVC - 按钮如何访问 url 查询字符串参数?
ASP.Net MVC - How can a button access url query string parameters?
我正在做一个密码重置项目。
用户会收到一封包含 url 的电子邮件,例如:
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 查询字符串?
您可以创建重置密码模型并传递该模型。示例:
public class ResetPasswordModel
{
public int Id { set; get; }
public string Token { set; get; }
}
然后:
public IActionResult ResetPass([FromQuery] int id, [FromQuery] string token)
{
var model = new ResetPasswordModel {
Id = id,
Token = token,
}
return View("ResetPass", model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> ResetPassButton(ResetPasswordModel model)
{
// do something with model
}
我正在做一个密码重置项目。
用户会收到一封包含 url 的电子邮件,例如: 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 查询字符串?
您可以创建重置密码模型并传递该模型。示例:
public class ResetPasswordModel
{
public int Id { set; get; }
public string Token { set; get; }
}
然后:
public IActionResult ResetPass([FromQuery] int id, [FromQuery] string token)
{
var model = new ResetPasswordModel {
Id = id,
Token = token,
}
return View("ResetPass", model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public async Task<IActionResult> ResetPassButton(ResetPasswordModel model)
{
// do something with model
}