asp.net-mvc-4 – 如何在mvc4 ActionLink中加密查询字符串ID
发布时间:2020-12-16 04:13:24 所属栏目:asp.Net 来源:网络整理
导读:大家好我怎样才能在ActionLink中传递加密的id,这就是我在视图中所写的内容 @model IEnumerableforumAPP.tblTechnology@foreach (var item in Model){string techName=item.TechName;@Html.ActionLink(techName,"Details","Home",new { TopicID = item.TechID
大家好我怎样才能在ActionLink中传递加密的id,这就是我在视图中所写的内容
@model IEnumerable<forumAPP.tblTechnology> @foreach (var item in Model) { string techName=item.TechName; @Html.ActionLink(techName,"Details","Home",new { TopicID = item.TechID },null) // Here I would like to encrypt the TopicID <br /> <br /> @Html.DisplayFor(modelItem => item.TechDesc) } 解决方法
以下是一些可用于编码/解码的简单方法.
编码值不安全,正如您所看到的,解码它是微不足道的.如果你的目标是混淆id,这将有效.如果您需要保护它,您应该采取不同的方法. public string Encode( string encodeMe ) { byte[] encoded = System.Text.Encoding.UTF8.GetBytes( encodeMe ); return Convert.ToBase64String( encoded ); } public static string Decode( string decodeMe ) { byte[] encoded = Convert.FromBase64String( decodeMe ); return System.Text.Encoding.UTF8.GetString( encoded ); } 因此,您可以将这些方法放在控制器中,并使用viewBag将编码的TechId传递给视图 int techId = 1; var encoded = Encode(id.ToString()); ViewBag.Encoded = encoded; 然后在链接中使用它 @Html.ActionLink(techName,new { TopicID = ViewBag.Encoded },null) (尽管如此,你应该考虑使用一个视图模型.ViewBag虽然是一种将数据传递给视图的简单方便,但不被认为是最佳实践.对视图模型和强类型视图的熟悉将使你的mvc生活更加丰富将来更容易.更不用说,为那些关注你的人生成更清晰,更易于维护的代码.) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-3 – 在ASP.NET MVC3中使用List作为Web Grid中
- asp.net – http 304和404之间的任何性能差异?
- 如果没有Visual Studio 2015,我们如何创建.NET Core项目 ?
- asp.net – 127.0.0.1此站点无法提供安全连接
- ASP.NET MVC – 开始的原因
- asp.net – 在更改密码时从所有浏览器注销用户
- 关于asp.net中的配置文件和会话
- 如何在asp.net中删除动态创建的控件
- asp.net-mvc – Chrome34忽略域名为“.cloudapp.net”的coo
- entity-framework – 在ViewBag中填充匿名类型,导致模型绑定
推荐文章
站长推荐
- asp.net-mvc – 在html5输入模式属性中使用“@”
- asp.net-mvc – ASP MVC中的视图中的权限
- asp.net-mvc – mvc创建我自己的html帮助器,如何
- asp.net – 测试ControllerFactory(预启动初始化
- ASP.NET Core macOS 环境配置 - ASP.NET Core 基
- asp.net-core-mvc – 在ASP Net Core 2.0 MVC中检
- asp.net-mvc – asp.net mvc多参数动态图像请求?
- asp.net-mvc – 根据MVC中第一个dropdownlistfor
- [ASP.NET Core 3框架揭秘] 跨平台开发体验: Wind
- asp.net-mvc – 在我正在运行的Visual Studio 20
热点阅读