Частичное возвращение страницы с помощью MVC - PullRequest
0 голосов
/ 30 мая 2009

Я довольно новичок в MVC и надеюсь, что подхожу к этому правильно. Любой вклад или совет был бы великолепен.

Я хотел бы, чтобы изображение загружалось в виде миниатюры в обычном режиме, и когда пользователь нажимает на изображение, динамическое изображение загружается с помощью плагина jboxery colorbox.

Проблема в том, что при нажатии на уменьшенное изображение динамическое изображение становится всей страницей. Я понимаю это из-за того, на что указывает href, но мне нужны некоторые указатели относительно правильного способа сделать это.

 <div id="gallery">

    <% For Each item In Model%>

    <ul>
        <li>
            <a href="<%=Url.Action("CreateWM", "Image", New With {.id = item.ImageID })%>" title="Please work" rel="Test">
                <img src="<%=Url.Action("Create", "Image", New With {.id = item.ImageID })%>" width="300" height="300" alt="Woot" />
            </a>
        </li>
    </ul>

    <% Next%>

</div>

В случае, если это кому-то нужно, это ImageController. ImageActionResult берет поток памяти и возвращает изображение

Public Class ImageController
   Inherits System.Web.Mvc.Controller

    Public Function CreateWM(ByVal id As String) As ImageActionResult

        Using db As New DataClasses1DataContext
            Dim ms As New MemoryStream(db.MyImages.Single(Function(x) x.ImageID = id).ImageData.ToArray())
            Return New ImageActionResult(ms, "hey.jpg", True)
        End Using

    End Function

    Public Function Create(ByVal id As String) As ImageActionResult

        Using db As New DataClasses1DataContext
            Dim ms As New MemoryStream(db.MyImages.Single(Function(x) x.ImageID = id).ImageData.ToArray())
            Return New ImageActionResult(ms, "hey.jpg", False)
        End Using

    End Function

End Class

Спасибо

Ответы [ 2 ]

1 голос
/ 30 мая 2009

Вам необходимо манипулировать URL-адресом элемента изображения , используя JavaScript на стороне клиента, что-то вроде:

<a href="#" onclick="$('#myImg')[0].src='<%=Url.Action("CreateWM", "Image", New With {.id = item.ImageID })%>'" title="Please work" rel="Test">
     <img id="myImg" src="<%=Url.Action("Create", "Image", New With {.id = item.ImageID })%>" width="300" height="300" alt="Woot" />
</a>
0 голосов
/ 30 мая 2009

Используя используемый плагин ColorBox, вы можете указать ширину / высоту динамического изображения:

$('a.dynamicImage').colorbox({width: 75%, height: 75%});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...