如何将带有特殊字符的字符串传递到服务器端功能

时间:2019-01-14 17:26:05

标签: javascript c# angularjs

我有一个创建标题的基本应用程序服务。当我的客户端页面使用特殊字符将参数值传递给服务器端函数时,出现问号。

请问该如何解决?

我当前的代码。

index.js

var title = "Búsq"
titleService.CreateTitle(title).success(function (data) {
    vm.title= data;
});

TitleAppService.cs

public string CreateTitle(string title)
{
    // title is received here as B�sq <- how do I resolve this, it should be Búsq
}

1 个答案:

答案 0 :(得分:0)

假设title参数作为url的一部分传递,则应在发送给服务器之前之前对其进行编码。在某些平台上,该值应在服务器端进行解码

客户端编码-JS (来自MDN

titleService.CreateTitle(encodeURIComponent(title)).success(function (data) {
    vm.title= data;
});

服务器端解码-C#(遵循answer

public string CreateTitle(string title)
{
    title = Server.UrlDecode(title);
}