반응형
Url.Action이 제 URL에 &을 넣었는데 어떻게 해결해야 하나요?
변수 itemId 및 entityModel을 ActionResultCreateNotes로 보내고 싶습니다.
public ActionResult CreateNote(
[ModelBinder(typeof(Models.JsonModelBinder))]
NoteModel Model, string cmd, long? itemId, string modelEntity)
다음 자바스크립트로:
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을 방지할 수 있습니까?제가 보내고 싶은 두 번째 변수 앞에 &을 붙이는 동작?
어제 당신이 가지고 있는 것을 눈치채지 못했습니다.&
저는 SO 편집자가 그것을 바꾼 것이라고 생각했습니다.포장해 보세요.Url.Action()
순식간에@Html.Raw()
의 인코딩을 방지합니다.
또는 오직Url.Action()
컨트롤러/액션 비트를 사용하여 두 매개 변수를 URL에 직접 전달하는 것이 아니라 포스트 데이터로 전달합니다. jQuery는 &을 그런 식으로 정리해야 합니다.
제 생각에 당신의 문제는Model.meta.PostAction
그 재산은 a입니까?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);
언급URL : https://stackoverflow.com/questions/8711521/url-action-puts-an-amp-in-my-url-how-can-i-solve-this
반응형
'source' 카테고리의 다른 글
CSS 미디어 쿼리를 사용하여 장치 방향을 탐지하는 방법은 무엇입니까? (0) | 2023.08.20 |
---|---|
MVC 컨트롤러에서 개체 목록과 함께 JsonResult 반환 (0) | 2023.08.20 |
루프 X 횟수 (0) | 2023.08.20 |
자바스크립트를 사용하여 HTML 버튼을 비활성화하는 방법은? (0) | 2023.08.20 |
리턴 1, 리턴 0, 리턴 -1과 출구의 차이? (0) | 2023.08.20 |