Url.Action将一个&在我的url中,我该如何解决这个问题
Url.Action puts an & in my url, how can I solve this?
我想将变量itemId和entityModel发送到ActionResult CreateNote:
public ActionResult CreateNote(
[ModelBinder(typeof(Models.JsonModelBinder))]
NoteModel Model, string cmd, long? itemId, string modelEntity)
使用以下javascript:
Model.meta.PostAction = Url.Action("CreateNote", new { cmd = "Save", itemId = itemId, modelEntity = modelEntity});
但是,正在发送的url是
localhost:1304/Administration/blue/en-gb/Entity/CreateNote?modelEntity=Phrase&itemId=44
我想发送
localhost:1304/Administration/blue/en-gb/Entity/CreateNote?modelEntity=Phrase&itemId=44
如何阻止Url.Action将&在我要发送的第二个变量前面?
我昨天没有注意到你有&
,我以为是SO编辑器更改了。尝试将Url.Action()
包装在@Html.Raw()
中,以防止&的Encode;。
或者,只Url.Action()
控制器/操作位,并将这两个参数作为post数据而不是直接在url上传递,jQuery应该对&那是给你的。
我认为您的问题是Model.meta.PostAction
-该属性是string
吗?
如果是这样的话,那么我的猜测是你将其添加到页面中,并使用以下任一选项:
- 剃刀:
@Model.meta.PostAction
- ASP视图引擎:
<%:Model.meta.PostAction%>
这两者都会自动为您对字符串进行编码。
要修复它,可以使用@Html.Raw()
/<%=
(两者都不编码),也可以将PostAction
属性设置为知道它已经编码的IHtmlString
:
string actionUrl = Url.Action("CreateNote", new { cmd = "Save", itemId = itemId, modelEntity = modelEntity});
Model.meta.PostAction = new HtmlString(actionUrl);
相关文章:
- 关于引入外部javascript文件的问题&css通过https
- 如何处理流星变量&对miniMongo有问题
- GM_xmlhttprequest问题&某个地方的教程
- &&评估问题
- 如何解决youtube播放器没有显示全宽的问题&身高
- node.js+MySQL;JSON结果-回调问题&没有响应客户端
- Plupload问题-正在使用{Filename}.part&FileUploadedevent未被触发
- Javascript继承的问题&基类原型
- 组内jquery选择器的问题&在元素上循环
- d3js:创建一个可折叠的表&嵌套数据的问题
- css&js与spring的问题
- MongoDB排序&极限问题
- 按钮类切换问题与Bootstrap Accordion&银色条纹
- 无限滚动(mysql,php&js)循环问题
- 解决&URL中的amp问题
- 运行时错误&时间复杂性问题:最小化值|(A[0]+..+A[P-1])-(A[P]+..+A[N-1])|
- 文件拖动&删除HTML5问题
- 流星模板助手&document.write问题
- Javascript客户端&asp.net事件处理程序的时间问题-如何解决
- 缩放&触发编程问题/卡住