微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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);

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐