Jquery Thickbox для работы со ссылкой Url.Action в Asp.net MVC
Я хочу реализовать JQuery Datbox, чтобы показать изображение, которое генерируется из моей базы данных в ASP.Net MVC. Моя ссылка выглядит примерно так:
<a href="<%=Url.Action("ShowPhoto", "Item", new { id = pic.pictureID }) %>" class="thickbox"><img src="<%= Url.Action( "ShowThumbnail", "Item", new { id = pic.pictureID } ) %>" alt="" width="100px" /></a>
Тем не менее, у меня появляются ошибки, вызванные ссылкой Url.Action.
Кто-нибудь, пожалуйста, помогите мне!
РЕДАКТИРОВАТЬ: Извините, я забыл положить ошибку.
В Visual Studio:
Исключение NullReferenceException не было обработано кодом пользователя. В экземпляре объекта не задана ссылка на объект. (Это выделено в UnitofWork.CurrentUnitOfWork.Dispose();)
В моем журнале ошибок:
System.Web.HttpException (0x80004005): потенциально опасное значение Request.Path было обнаружено от клиента (&). в System.Web.HttpRequest.ValidateInputIfRequiredByConfig() в System.Web.HttpApplication.ValidateRequestExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() в System.Web.HttpExecuteStepp
System.Web.HttpException (0x80004005): файл не существует. в System.Web.StaticFileHandler.GetFileInfo(String virtualPathWithPathInfo, String PhysicalPath, HttpResponse response)
в System.Web.StaticFileHandler.ProcessRequestInternal (контекст HttpContext, String overrideVirtualPath)
в System.Web.DefaultHttpHandler.BeginProcessRequest (контекст HttpContext, обратный вызов AsyncCallback, состояние объекта) в System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute. Логическое и завершено синхронно)
2 ответа
Я позволил помощнику Html.ActionLink отображать ссылки, содержащие код для меня, например:
<%=Html.ActionLink(Resources.Localize.Routes_WidgetsCreate, "Create", "Widget", new { modal = true },
new
{
rel = "shadowbox;height=600;width=700",
title = Resources.Localize.Routes_WidgetsCreate
})%>
Объяснение: Resources.Localize.Routes_WidgetsCreate - это ссылка на класс Resources для получения локализованной строки, "Create" - действие контроллера, "Widget" - контроллер, "new { model = true }" - параметр QueryString, "new { rel ... } "это атрибуты тега.
Это пример ссылки Shadowbox, которая открывает модальное окно с содержимым, которое возвращает ~/Widget/Create.
НТН
Я не думаю, что это связано с Thickbox, но вы можете подтвердить, что ваши два фрагмента кода (ниже) действительно отображают URL?
<%=Url.Action("ShowPhoto", "Item", new { id = pic.pictureID }) %>
а также
<%= Url.Action("ShowThumbnail", "Item", new { id = pic.pictureID }) %>