2009-12-24 81 views
1

所以我刚刚开始写一个简单的博客,就像使用ASP.NET MVC编写的应用程序一样。基本上我有我的CSS,我使用jquery的一些效果,但我想做一些像每个循环显示我的帖子数组中的所有数据分离到他们自己的小节。 CSS已经具有div的样式,所以它只是在页面上创建一个动态数量。如何在ASP.NET MVC中生成Div?

编辑:对不起,我没有提到它,虽然两件事情:

1)我从来没有写一个ASP.NET MVC应用程序基础的唯一代码段经典ASP.Net

2 )为了澄清我所问的意思,当人加载页面时,所有的div都已经生成,我不会在加载后添加更多。就像我说的,它呈现博客的主视图,所有的帖子将从模型中检索,我只是想弄清楚如何在视图中呈现它。

感谢

回答

0

假设您将一个IEnumerable的Posts传递给ViewModel中的视图,您可以使用类似于下面给出的代码的东西。

<%foreach (var post in Model) {%> 
<div class="post"> 
    <h2> 
     <%=post.Title %></h2> 
    <p> 
     <%=post.Body %> 
    </p> 
    <p> 
     <%= post.Author%> 
    </p> 
</div> 
<%} %> 
+0

谢谢,就在我来到这里之前,我意识到必须有一种方法来在视图中运行代码蚂蚁<% %>是吗。再次感谢。 – edude05 2009-12-24 19:04:51

+0

更好的方法是将您的文章表示为部分视图,并在循环中使用RenderPartial。见http://vinbrown.blogspot.com/2009/03/using-renderpartial-to-recursively.html – 2009-12-24 20:08:07

+0

你绝对可以在这里使用partials,但我认为对于简单情况使用partials渲染块是矫枉过正。然而,当使用asp.net mvc 2中的'DisplayTemplates'功能时,这会让我更感兴趣。此外,初学者需要了解在查看高级内容之前呈现内容的基本方式。 – 2009-12-25 10:33:37

0

在服务器上,它像往常一样经营,使用的RenderPartial和循环您的文章收藏。在客户端上,使用jquery简单地调用。

var $newDiv = $("<div />"); 

并将其追加到您所需的dom中的位置。

$newDiv.append(document.body); 

而且继承人的jQuery的制造者阴凉模板引擎,不知道如果多数民众赞成你需要什么? Click here 我建议将标记上下文更改为像<##>而不是johns <%%>,这会与构建在其中的asp.net冲突。

+0

@Ori我认为他正在寻找服务器端的一个 – 2009-12-24 07:22:51

+0

然后,他只需要使用的RenderPartial和循环模式集合。 – 2009-12-24 07:29:37