Url-адрес.Действие помещает и в мой адрес, как я могу решить это?
Я хочу отправить переменные 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.Действие, чтобы поместить & перед второй переменной, которую я хочу отправить?
3 ответа:
Я не заметила вчера, что у тебя
&Я думал, что это так редактор изменил это. Попробуйте обернуть вашUrl.Action()на@Html.Raw()для предотвращения Кодирование от.или только
Url.Action()бит контроллера / действия и передать два параметра в качестве данных post, а не непосредственно на url, jQuery должен отсортировать &'s для вас таким образом.
Я думаю, что ваша проблема с
Model.meta.PostAction- это свойство astring?если так, то я предполагаю, что вы добавляете его на страницу с:
- бритвы:
@Model.meta.PostAction- ASP view engine:
<%: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);