javascript – 在jquery发布ASP.NET MVC之前转义字符的最佳方法

我是ASP.NET MVC的半新手.我正在构建一个内部用于我公司的应用程序.

场景是这样的:有两个Html.ListBox.一个包含所有数据库信息,另一个最初为空.用户数据库列表框中的项添加到空列表框中.

每次用户添加命令时,我都会在我的EditController中调用一个调用ActionResult“AddCommand”的js函数.在控制器中,添加的选定项目将保存到另一个数据库表中.

这是代码(每次添加项时都会调用它):

function Add(listBox) {

//skipping initializing code for berevity

var url = “/Edit/AddCommand/” + cmd;

$.post(url);

}

因此,当’cmd’是具有’/’,’:’,’%’,’?’等的项目(某种特殊字符)时会出现问题

所以我想知道的是,逃避这些角色的最佳方法是什么?现在我正在检查数据库的列表框项目的文本,并重建字符串,然后在Controller中,我正在使用该构建的字符串并将其恢复到其原始状态.

因此,例如,如果他们添加的项目是“猫/狗”,我将’Cats [SLASH] Dogs’发布到控制器,并在控制器中将其更改回’Cats / Dogs’.

显然这是一个可怕的黑客,所以我必须遗漏一些东西.任何帮助将不胜感激.

解决方法

为什么不把它从URI中取出来呢?你正在做一个POST,所以把它放在表格中.

如果您的行动是:

public ActionResult AddCommand(string cmd) { // ...

…然后你可以这样做:

var url = "/Edit/AddCommand";
var data = { cmd: cmd };
$.post(url,data);

……并且一切都将“正常工作”而没有单独的编码步骤.

相关文章

页面搜索关键词突出 // 页面搜索关键词突出 $(function () {...
jQuery实时显示日期、时间 html: <span id=&quot...
jQuery 添加水印 <script src="../../../.....
中文:Sys.WebForms.PageRequestManagerParserErrorExceptio...
1. 用Response.Write方法 代码如下: Response.Write(&q...
Jquery实现按钮点击遮罩加载,处理完后恢复 思路: 1.点击按...