我有这样的网址
http://localhost/PW/LeaveWithoutPay/Edit?id=9
我想从我的网址中隐藏id?=9
。任何人都可以通过示例演示如何隐藏此id
参数吗?我正在使用Visual Studio 2012。
答案 0 :(得分:1)
您必须实现Post方法而不是GET方法。这是一个示例。
在你的控制器中定义这样的东西
public ActionResult Edit([FromBody] int id) {
TempData["MsgText"] = id.ToString();
return RedirectToAction("Index");
}
public ActionResult Edit([FromBody] int id) {
TempData["MsgText"] = id.ToString();
return RedirectToAction("Index");
}
现在在您的视图中,实现POST方法。示例示例如下:
@{string id =(string)TempData["MsgText"];}
@using (Html.BeginForm("Edit", "Home", FormMethod.Post, new { id = "frmCallThis" })){
@Html.Label("label",string.IsNullOrEmpty(id)?"No Id Provided":"Current ID = " + id)
@Html.TextBox("id");
<input type="submit" value="Get This Printed" />
}
最后你有以下输出:(提交前)
提交后:
希望这有帮助,
答案 1 :(得分:0)
这里只需要做一件事就是使用POST,而不是GET方法。因为Web请求通常是无状态的,所以我认为我们没有任何其他方法可以隐藏您的ID。