隐藏URL中的参数值

时间:2013-11-28 08:38:10

标签: c# asp.net-mvc

我有这样的网址

  

http://localhost/PW/LeaveWithoutPay/Edit?id=9

我想从我的网址中隐藏id?=9。任何人都可以通过示例演示如何隐藏此id参数吗?我正在使用Visual Studio 2012。

2 个答案:

答案 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" />

}

最后你有以下输出:(提交前) enter image description here

提交后:

enter image description here

希望这有帮助,

答案 1 :(得分:0)

这里只需要做一件事就是使用POST,而不是GET方法。因为Web请求通常是无状态的,所以我认为我们没有任何其他方法可以隐藏您的ID。