Estou usando o MVC3 / EntityFramework como back-end, o front-end consome todos os meus controladores de projeto via jquery, postando diretamente (usando $ .post) não requer a inscrição de dados, quando você passa parâmetros diretamente além do URL codificado. Eu já testei vários caracteres e até enviei um URL (este http://www.ihackforfun.eu/index.php?title=update-on-url-crazy&more=1&c=1&tb=1&pb=1 ) como parâmetro e tinha nenhum problema, mesmo que o encodeURIComponent funcione bem quando você passar todos os dados no URL (codificado)
URL codificado, ou seja,>
var encodedName = encodeURIComponent(name);
var url = "ControllerName/ActionName/" + encodedName + "/" + keyword + "/" + description + "/" + linkUrl + "/" + includeMetrics + "/" + typeTask + "/" + project + "/" + userCreated + "/" + userModified + "/" + status + "/" + parent;; // + name + "/" + keyword + "/" + description + "/" + linkUrl + "/" + includeMetrics + "/" + typeTask + "/" + project + "/" + userCreated + "/" + userModified + "/" + status + "/" + parent;
Caso contrário, não use encodeURIComponent e tente passar parâmetros dentro do método ajax post
var url = "ControllerName/ActionName/";
$.post(url,
{ name: nameVal, fkKeyword: keyword, description: descriptionVal, linkUrl: linkUrlVal, includeMetrics: includeMetricsVal, FKTypeTask: typeTask, FKProject: project, FKUserCreated: userCreated, FKUserModified: userModified, FKStatus: status, FKParent: parent },
function (data) {.......});
$.param
.