我一直致力於在我的項目中設置一些Ajax.ActionLinks。我可以使ActionLinks工作100%,但是,當我想要使用圖像而不是文本作爲鏈接時,我的問題就出現了。使用圖片而不是文字的Ajax.ActionLink
我用了幾個其他的StackOverflow職位,並與下述溶液中走過來顯示一個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") + "\" />"))
當我使用一個正常Ajax.ActionLink,我的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 –