gpt4 book ai didi

c# - FormMethod.Post 在 MVC4 中返回查询字符串

转载 作者:太空宇宙 更新时间:2023-11-03 11:14:43 25 4
gpt4 key购买 nike

我在 _Layout.cshtml 页面中传递了我的查询字符串

  <li>@Html.ActionLink("Shopping", "Index1", new { controller = "Shopping", UserID = "Admin1" })</li>  


我有一个更新 View 来更新文本框中的值

 @using (Html.BeginForm("Update", "Shopping", new { id = Request.QueryString["UserID"] }, FormMethod.Post, new { id = "myForm" }))
{
@Html.Hidden("id", @Request.QueryString["UserID"] as string)
@Html.Hidden("productid", item.ProductID as string)
@Html.TextBox("qty", item.Quantity)
@Html.Hidden("unitrate", item.Rate)
<input type="submit" value="Update" />
}

第一次发帖,我得到的是这样的url

http://localhost:61110/Shopping/Index1?UserID=Admin1

但是第二次,在发布后我得到了这样的 url

http://localhost:61110/Shopping/Index1

如何在发布表单时始终获取查询字符串值。
我也试过这个 mvc3: html.beginform search returning empty querystring

但是在第二次发布时无法获取查询字符串
任何建议。

编辑:更新操作代码

[HttpPost]
public ActionResult Update(string id, string productid, int qty, decimal unitrate)
{
if (ModelState.IsValid)
{
int _records = UpdatePrice(id,productid,qty,unitrate);
if (_records > 0)
{
return RedirectToAction("Index1", "Shopping",new { id = Request.QueryString["UserID"] });
}
else
{
ModelState.AddModelError("","Can Not Update");
}
}
return View("Index1");
}

public int UpdatePrice(string id,string productid,int qty,decimal unitrate)
{
con.Open();
var total = qty * unitrate;
SqlCommand cmd = new SqlCommand("Update [Table_name] Set Quantity='" + qty + "',Price='" + total + "' where [User ID]='" + id + "' and [Product ID]='" + productid + "'", con);
cmd.Parameters.AddWithValue("@total", total);
return cmd.ExecuteNonQuery();
}

最佳答案

您还需要将 new { id = Request.QueryString["UserID"] } 添加到 Update 中的 RedirectToAction。

关于c# - FormMethod.Post 在 MVC4 中返回查询字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13005229/

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