【发布时间】:2011-01-18 20:54:51
【问题描述】:
我是 ASP.NET MVC 的半新手。我正在为我的公司构建一个内部使用的应用程序。
场景是这样的:有两个Html.Listbox。一个拥有所有数据库信息,另一个最初是空的。用户会将数据库列表框中的项目添加到空列表框中。
每次用户添加命令时,我都会调用一个 js 函数,该函数会在我的 EditController 中调用 ActionResult "AddCommand"。在控制器中,将添加的选定项目保存到另一个数据库表中。
这是代码(每次添加项目时都会调用它):
函数添加(列表框){ ...
//跳过初始化代码以实现简洁var url = "/Edit/AddCommand/" + cmd;
$.post(url);
}
因此,当“cmd”是具有“/”、“:”、“%”、“?”等(某种特殊字符)的项目时,就会出现问题
所以我想知道的是,逃避这些角色的最佳方法是什么?现在我正在检查数据库的列表框项目的文本,并重建字符串,然后在控制器中,我将那个构建的字符串恢复到原来的状态。
例如,如果他们添加的项目是“Cats/Dogs”,我会将“Cats[SLASH]Dogs”发布到控制器,并在控制器中将其更改回“Cats/Dogs”。
显然这是一个可怕的 hack,所以我一定遗漏了一些东西。任何帮助将不胜感激。
【问题讨论】:
标签: javascript asp.net-mvc model-view-controller