저는 프로젝트에서 일부 Ajax.ActionLink를 설정하고 있습니다. 액션 링크를 100 % 작동시킬 수는 있지만 링크에 텍스트 대신 이미지를 사용하고 싶을 때 내 문제가 발생합니다.텍스트 대신 이미지를 사용하는 Ajax.ActionLink
내가 ActionLink 내부 이미지를 보여주기 위해 몇 가지 다른 StackOverflow의 게시물을 사용하여 다음과 같은 해결책을 함께 한: 나는 정상적인 Ajax.ActionLink를 사용하는 경우
Ajax.ActionLink("[replacethis]", "_Edit", "Account", new { id = "<#= UserId#>" }, new AjaxOptions() { UpdateTargetId = "subForm", InsertionMode = InsertionMode.Replace, HttpMethod = "GET" }).ToHtmlString().Replace("[replacethis]", "<img src=\"" + Url.Content("~/Content/images/page-pencil-24.png") + "\" />"))
, 내 HTML은 다음과 같습니다를 : 나는 나의 새로운 방법을 사용하면
<a href="/ct/administration/Account/_Edit/be71fdfc-0427-46e4-8ce5-6fa7cdf639d3" data-ajax-update="#subForm" data-ajax-mode="replace" data-ajax-method="GET" data-ajax="true">Edit</a>
내 HTML은 다음과 같습니다
<a href="/ct/administration/Account/_Edit/be71fdfc-0427-46e4-8ce5-6fa7cdf639d3" data-ajax-update="#subForm" data-ajax-mode="replace" data-ajax-method="GET" data-ajax="true">
<img src="/ct/Content/images/page-pencil-24.png">
</a>
ㅁ을 컨트롤러에 중단 점을 넣고 Request.IsAjaxRequest() == true인지 확인합니다. ImageActionLink에서는 항상 False이지만 ActionLink에서는 True입니다.
감사하지만 문제는 Ajax 요청 작동 중입니다. 성공적으로 이미지를 표시 할 수 있지만 새로운 요청으로 만 작동합니다. 내 컨트롤러에서 Request.IsAjaxRequest()를 보면 항상 false입니다. 텍스트 만 사용하도록 전환하면 (이미지를 표시하는 새 기능을 사용하는 경우에도) 요청이 작동합니다. –
사과 - 제대로 읽지 못했습니다! IsAjaxRequest가 HTTP 헤더를 찾는 것처럼 보이지만 사용중인 메서드가 헤더를 전달할 수 없거나 통과 할 수없는 경우 쿼리 문자열을 사용하여 강제로 처리 할 수 있습니다. http://www.britishdeveloper.co.uk/2010 /10/aspnet-mvc-isajaxrequest-jquery.html –