如何在Ajax.Beginform中指定accept-charset =“gb2312”
问题描述:
我正在尝试向我的应用程序添加ajax表单。问题是我想通过我的输入作为gb2312编码。但是我没能做到如何在Ajax.Beginform中指定accept-charset =“gb2312”
new {accept-charset="gb2312"}
为msdn建议。我想这是因为“accept-charset”中的“ - ”打破了CSharp变量的命名规则。我试图在“accept-charset”前添加一个“@”,但它也不起作用。有谁知道我应该用什么技巧来解决这个问题?
答
MSDN错误:accept-charset不是有效的标识符。
尝试使用使用IDictionary htmlAttributes而不是Object的BeginForm重载。
例子:
<% var attributes = new Dictionary<string, Object>();
attributes.Add("accept-charset","gb2312");
using (Ajax.BeginForm("action", null, new AjaxOptions { ... }, attributes))
{
%>
<% } %>
这是做它的方式。我以为你需要设置请求标题,但只需设置表单属性就简单多了。卫生署!希望你不介意我添加了一个例子。 – tvanfosson 2009-12-19 13:56:00
它确实有效,但必须稍作修改。 var属性的类型必须是Dictionary而不是Dictionary ,否则生成的html不正确。 –
2009-12-20 01:59:38
您可以使用字典文字来使其更接近原始语法:var attributes = new Dictionary {“accept-charset”,“gb2312”}}; –
2012-02-29 16:43:05