我陷入了一个困境,在 cshtml 页面中发布表单时,我需要将发布的 URL 编码为 Base64。我们在表单元素中确实有 enctype 属性,我们可以在其中获得 3 种编码,但是由于某些客户端要求,我们需要将 URL 编码为 Base64。以下是表单元素:
<body onload="document.getElementById('idPost').submit()">
<form id="idPost" method="post" action= @System.Configuration.ConfigurationManager.AppSettings["postUrl"]
style="margin: 0; padding: 0;">
<fieldset style="border: 0">
<h3 style="text-align: center;">We Are Signing You In, Please Wait...</h3>
@Html.HiddenFor(model => model.agent);
@Html.HiddenFor(model => model.User_ID);
@Html.HiddenFor(model => model.Password);
@Html.HiddenFor(model => model.errorUrl);
@Html.HiddenFor(model => model.originalResourceUri);
</fieldset>
</form>
</body>
任何帮助完成这项工作的人将不胜感激。
最佳答案
将隐藏字段转换为 Base 64 字符串
@Html.HiddenFor(model => Convert.ToBase64String(Encoding.UTF8.GetBytes(model.agent)));
您可以为其创建扩展方法并执行类似的操作
@Html.HiddenFor(model => model.agent.ToBase64())
关于javascript - 如何在发布 html 表单时进行 Base64 编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44427480/