【问题标题】:How to specify encoding in MVC3 Html.Beginform如何在 MVC3 Html.Beginform 中指定编码
【发布时间】:2014-06-30 14:34:14
【问题描述】:

我有如下 MVC3 视图页面,

 @using (Html.BeginForm(null, null, FormMethod.Post, new { @action = "https://www.paymentdummysite.com/abcd" }))
    {
        @Html.ValidationSummary(true)
        @Html.AntiForgeryToken()    
        <div class="homePageSubSecContnt">
            <p>You will be re directed to your banking site.</p>
            @Html.Hidden("version",Model.cvsVersion)
            @Html.Hidden("bill_method", Model.cvsBillMethod)
            @Html.Hidden("shop", Model.ShopCode)
            @Html.Hidden("shopmsg", Model.shopmsg)
            @Html.Hidden("password", Model.password) 
            <input type="submit"  id="Next" name="Next"  value="Next" class="buttonStyle_2"   />
        </div>

上面的代码将我重定向到银行网站。这里我提供了绝对 url,没有调用任何控制器。我在这个视图页面中使用了 2 个 html 表单,这样我就可以从控制器的第一个 html 表单 GET 方法获取模型详细信息。

现在我必须对表单数据(隐藏输入)进行编码并重定向到外部 url。我的编码格式是 Shift-JIS,它是日语编码格式。我不确定,如何在视图页面中进行编码。有人能解释一下吗?

在 C# 代码中,我可以进行如下编码,

byte[] postDataBytes = System.Text.Encoding.GetEncoding("Shift-JIS").GetBytes(postData);

如何在视图页面中进行相同的编码?

<meta charset="Shift-JIS">  Will this work?

我想我必须使用 charset="Shift-JIS",但是如何在 mvc 表单中使用它。

【问题讨论】:

    标签: asp.net-mvc-3 model-view-controller


    【解决方案1】:

    经过很长时间我自己找到了答案:

    由于我的代码有日语文本,我希望编码格式为 Shift_jis ,即使我指定 charset 或 encoidng 格式,代码也不能正常工作。

    解决办法是: 转到 Visual Studio 中的文件菜单,

    文件->高级保存选项->Unicode-codepage 1200(第三个选项)->点击 好的。

    这将解决您的问题。

    【讨论】:

      猜你喜欢
      • 2014-02-05
      • 1970-01-01
      • 1970-01-01
      • 2012-01-11
      • 2016-04-05
      • 1970-01-01
      • 2015-06-07
      • 2012-04-17
      • 1970-01-01
      相关资源
      最近更新 更多