我将带有特殊字符的字符串传递给asp.net mvc3中的控制器操作。在行动中,它将字符串数据作为null。
var url = '@Url.Action("SetData", "Home")';
var data = { Text: a, Data: urlData };
$.post(url, data, function (result) {
});
控制器行动:
public ActionResult SetData(string Text, string Data)
{
}
我的字符串数据是:
Content Belongs To Tseries and Eros Entertainment Song : Tum Ho Movie : Rockstar Singer : Mohit Chauhan & Suzzane D' Mello Music By : AR Rahman Rockstar is a
如何传递具有特殊字符的字符串?
答案 0 :(得分:1)
urlData
变量包含HTML编码实体。您需要先对其进行HTML解码,如下所示:
var data = {
text: 'some text',
data: $('<div/>').html(urlData).text()
};
或者可能会改变您检索此变量内容的方式。我认为这是你的问题所在。
或在服务器端,如果您愿意(建议使用第一个解决方案):
public ActionResult SetData(string text, string data)
{
var decodedData = Server.HtmlDecode(data);
...
}
答案 1 :(得分:0)
当您将字符串数据放在像这样的数据对象中时,可以使用javascript函数转义
var data = { Text: a, Data: escape(urlData) }