2011-10-04 4 views
1

저는 프로젝트에서 일부 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입니다.

답변

0

일반적인 문제처럼 보입니다. 유용 할 수도있는 answer here이 있습니다.이를 수행하는 맞춤 HtmlHelper가 있습니다. VB.NET에는 another here이 있습니다.

편집 : IsAjaxRequest는 (X--와 요청이) XMLHttpRequest를 설정하고는 HTTP 헤더를 찾습니다처럼

보인다.

http://www.britishdeveloper.co.uk/2010/10/aspnet-mvc-isajaxrequest-jquery.html 그러나

가, 흥미롭게도 당신은 또한 당신의 폼 POST 중 일부 또는 심지어 GET의 쿼리 문자열로 이것을 설정할 수 있습니다 : 그것은 해키 조금 비록 당신은 GET/POST 변수를 전달하여이를 강제 할 수 ! 예 : www.example.com?x-requested-with=XMLHttpRequest (대소 문자 구분). 이 또한 IsAjaxRequest()를 true로 만듭니다.

+0

감사하지만 문제는 Ajax 요청 작동 중입니다. 성공적으로 이미지를 표시 할 수 있지만 새로운 요청으로 만 작동합니다. 내 컨트롤러에서 Request.IsAjaxRequest()를 보면 항상 false입니다. 텍스트 만 사용하도록 전환하면 (이미지를 표시하는 새 기능을 사용하는 경우에도) 요청이 작동합니다. –

+0

사과 - 제대로 읽지 못했습니다! IsAjaxRequest가 HTTP 헤더를 찾는 것처럼 보이지만 사용중인 메서드가 헤더를 전달할 수 없거나 통과 할 수없는 경우 쿼리 문자열을 사용하여 강제로 처리 할 수 ​​있습니다. http://www.britishdeveloper.co.uk/2010 /10/aspnet-mvc-isajaxrequest-jquery.html –

관련 문제