День добрый!
Передаю через $get
запрос на контроллер, в нем есть QueryStringParameter
с кириллицей.
Action
принимает мои параметры, но кириллицу не может правильно декодировать. Причем, это проблема только в IE11, в Mozilla все работает.
Чего только не пробовал, кодировал эти символы на стороне контроллера в 1251, UTF-8 и прочие.. Так и не получил нормальный русский текст. Пробовал еще через Url.Decode
.
public ActionResult AddNewCom(string idEvent, string Com, string RouteC, string Aut, string Actions)
Url:
/PCMS/AddNewCom?idEvent=b282c0fb-0092-4ef2-8f43-2e397d7551e0&Com=23&RouteC=%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd+%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd+%ef%bf%bd+%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd%ef%bf%bd&Aut=112&Actions=134"
Проблема с параметром RouteC
. На стороне JavaScriptа ссылка на метод формируется корректно, с русскими символами. Но на стороне сервера не раскодируется назад.
JS:
var tex = "@Html.Raw(Url.Action("AddNewCom", "PCMS", new { idEvent = "guid", Com="comm", RouteC="routecrit", Aut="authorname", Actions="acts" }))";
var obj = $('#ddlCriteria').data("ejDropDownList");
tex = tex.replace("comm", $("#RTEComment").val());
tex = tex.replace("routecrit", obj.option("text"));
tex = tex.replace("authorname", $("#RTEAuthor").val());
tex = tex.replace("acts", $("#RTEActions").val());
tex = tex.replace("guid", selectedEventID);
$.get(tex, function (rawData) {
});
Перед вставкой в URL строковых значений надо их url-кодировать. Браузер, конечно, может и сам попытаться это сделать... но не факт что у него получится то, что вы от него ожидаете.
Делается это функцией encodeURIComponent:
tex = tex.replace("routecrit", encodeURIComponent(obj.option("text")));
Но, вообще говоря, JQuery предоставляет и более простые способы формирования запросов. Например, можно сделать так:
$.get("/PCMS/AddNewCom", {
idEvent: selectedEventID,
Com: $("#RTEComment").val(),
RouteC: obj.option("text"),
Aut: $("#RTEAuthor").val(),
Actions: $("#RTEActions").val(),
}, function (rawData) {
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Как сделать его самостоятельно? Если есть ссылка, буду очень благодарен
Провожу эксперимент с использованием AMT Amazon Mechanical Turk, требуется перенаправлять пользователей с AMT по ссылке на сервер, где они, собственно,...
Вопрос уже много раз тут звучал, но ответы никакие не помогают , обычно я использую отдельный css файл, в котором прописываю font-face, путь к шрифту