gpt4 book ai didi

javascript - 查询字符串参数在发布后被删除并返回到 asp.net mvc 中的同一页面

转载 作者:行者123 更新时间:2023-11-28 11:35:15 25 4
gpt4 key购买 nike

我正在实现一个 asp.net mvc5 应用程序,但在后期操作和查询字符串参数方面遇到问题。

我的页面网址是http://localhost/site/person/edit?personId=20

[HttpGet]
public ActionResult Edit(int personID)
{
// ....

return View(person);
}

在此页面中包含提交按钮,它将执行 post 方法。在 post 方法中,如果 Model.Isvalid 为 false,我将返回到模型 View 。

[HttpPost]
public ActionResult Edit(Person person)
{
if (ModelState.IsValid)
{
//....
return RedirectToAction("Index", "Dashboard", new { area = "" });
}
else
{
return View(person);
}
}

这可以正常工作。但问题是,一旦 Model.IsValid 为 false,它将出现在 View 中,但没有查询字符串参数。那么 URL 就像 http://localhost/site/person/edit

有没有办法获取带有查询字符串参数的 URL。

最佳答案

我在另一篇SO帖子中找到了答案: Query string param is missed when form validation fail

我的解决方案是将删除的值直接连接到表单标记上。

使用 BeginForm() 方法:

@using (Html.BeginForm("Edit", "Person", routeValues: new {personID = Model.id}, method: FormMethod.Post))

关于javascript - 查询字符串参数在发布后被删除并返回到 asp.net mvc 中的同一页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23540225/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com