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 }) %>
Другие вопросы по тегам