0
我想创建一个叫ImageViewer的局部视图。它将被称为提供图像ID列表(简化)。然后我想返回这个局部视图,类似提供的数据可通过jQuery在.Net MVC 2
imagecontroller.ImageViewer(new int[] { 5, 6, 7 });
产生以下:
<div>
<img grayuparrow />
<img source="image/getimage5" />
<img blackdownarrow />
</div>
点击DownArrow中文然后使用jQuery的访问(在本实施例6)下一个图像。我应该没有问题使用jQuery来获取图像,但我如何从PartialView存储信息到DOM?我想存储提供给操作方法的列表和当前索引。
或者我应该考虑完全不同的方式来实现这个滚动图像查看器?
UPDATE:
我猜我问的是,有没有办法在一个MVC视图标注在额外数据的DOM元素?
现在我有了这个代码:
<script type="text/javascript">
$(document).ready(function() {
var images = [];
<% foreach(ImageGroup group in Model)
{ %>
images.push(imageGroup(<%= group.Description %>, [<%= Html.FormatArgs(group.ImageIDs) %> ]));
<% } %>
setImageGroups(images, $(".imageviewer"));
}
</script>
imageGroup是一个JavaScript函数返回一个imageGroup对象。
哪个应该工作,但没有任何干净。有什么方法可以轻松地将.Net对象转换为javascript对象,或者用额外的数据注释一个DOM元素?
function setImageGroups(imagegroups, element) {
$(element).data("imageGroups", imagegroups);
$(element).data("imageIndex", 0);
$(element).children(".upnav").click(previousImageGroup);
$(element).children(".downnav").click(nextImageGroup);
renderImageGroup(element);
}
看起来这会增加一点复杂性的东西,通常会是一个简单的Ajax调用来检索20行左右的标记。虽然这是一个聪明的解决方案。 – R0MANARMY 2010-06-29 14:52:38
@ROMANARMY - 我知道这是通过部分返回的标记;图像ID被提供给部分并作为图像查看器呈现。当然,我忽略了使视图实际上在图像中旋转的代码。 – tvanfosson 2010-06-29 15:01:01
嗯,顺便说一句,我的名字有一个0(零),而不是一个O(主要是为了将来的参考,所以我实际上看到的消息指向我)。 – R0MANARMY 2010-06-29 15:27:58