在Html.BeginForm中使用ViewBag作为路由值将ViewBag值转换为小写

时间:2014-06-20 20:35:00

标签: asp.net-mvc encryption html.beginform

我试图通过BeginForm的路由集合传递加密字符串,方法是在ViewBag中传递它:

@using (Html.BeginForm("Go", "Process", new { id = ViewBag.Id }, FormMethod.Post, new { @class = "seperate-sections fill-up form-horizontal", enctype = "multipart/form-data" }))

ViewBag.Id是动态加密的字符串,例如:g9IPGGXm4jw=

不幸的是,它通过表单提交到达我的控制器;它有小写,例如:g9ipggxm4jw=会导致解密过程出现异常。

有人知道它变成小写的地方吗?

1 个答案:

答案 0 :(得分:0)

我找到了答案。问题是路由!

我的路由强制小写定义为routes.LowercaseUrls = true;

因此它会自动将网址转换为小写,我的加密功能也被破坏了!