저는 Mvc을 처음 사용하고 Ajax Action 링크로 이미지를 사용하려고 시도했습니다. 나는 "교체"방법은 내가 사용 버전에 존재하지 않는 그러나 나는 스티븐 발터에 의해 게시 된 생각 도우미 ...Asp.net Mvc2 Ajax ImageActionLink Helper
using System.Web.Mvc;
using System.Web.Mvc.Ajax;
namespace Helpers
{
public static class ImageActionLinkHelper
{
public static string ImageActionLink(this AjaxHelper helper, string imageUrl, string altText, string actionName, object routeValues, AjaxOptions ajaxOptions)
{
var builder = new TagBuilder("img");
builder.MergeAttribute("src", imageUrl);
builder.MergeAttribute("alt", altText);
var link = helper.ActionLink("[replaceme]", actionName, routeValues, ajaxOptions);
return link.Replace("[replaceme]", builder.ToString(TagRenderMode.SelfClosing));
}
}
}
을 발견했다. (아마도 Mvc2 문제는 그의 연락처 관리자 응용 프로그램이 MVC1 응용 프로그램이라고 생각하기 때문에 ??) 문서를 통한 빠른 검색과 "대체"메서드가 사용되지 않고 "MvcHtmlString.Create()"를 사용하려고 시도했음을 발견했습니다. 이 도우미에서 해당 메서드를 사용하여 여러 조합을 만들었고 이미지로 렌더링 할 링크를 얻을 수 없었습니다. 나는 올바른 액션/컨트롤러와 img 태그를 가리키는 링크를 일반 텍스트로 가져 오거나 그 반대의 경우도 링크로 평범한 텍스트로 올바르게 렌더링 한 것입니다.
거의 모든 콤보에서 사이드 바를 사용 했으므로이 특별한 도우미에 나열된 표준 문자열 대신 MvcHtmlString 유형을 반환했습니다.
, 프로젝트 실 거예요 구축 : 당신은 그것이 처음부터 작업을했는데 실제 문자열을 얻을 필요가,
Replace()
방법의 상점이 일을 할 수 있어야한다 Replace() 메서드가 없습니다. –예, 그것이 내가 말한 것입니다. Helper.ActionLink()에서 얻은 결과에 대해 ToString()을 호출해야합니다. – Necros
죄송합니다. 첫 줄 끝 부분에서 ToString()을 보지 못했습니다. 지금 당장 작동합니다! 감사합니다. –