如何在mvc3中使用datalist

时间:2012-09-22 14:01:51

标签: asp.net-mvc asp.net-mvc-3 data-binding

我是mvc的新手。我正在使用mvc project .it是一个购物车项目。在asp.net Web表单中,我们使用了数据列表控件,我们还设置了一个RepeatColumns属性,如5,10,20。什么是MVC中的替代品?我可以在MVC中使用相同的控件吗?

任何人都可以告诉我如何在数据列表控件中显示我的数据吗?

2 个答案:

答案 0 :(得分:1)

要在一行中拥有五个产品图像,您可以使用两个循环并使用剃刀语法执行此操作....

<div>
<table>
@for(int i = 0; i <= (Model.Count - 1) / 5; ++i)  /*Five is no of product record count per row*/
{
 <tr>
 for(int j = 0; j < 5 && i + j < Model.Count; ++j) {
  <td style="width:240px;margin-left:30px; margin-right:30px;"> /*Adjust based on your HTML and CSS requeirment*/
   <img src="@Product.ImageSource" alt="drawing" />
   <Div>@Product.Title</Div>     
  </td>
 }
 </tr>
}
</table>
</div>

以上可用于每行生产5个产品图片....

答案 1 :(得分:0)

从理论上讲,asp.net MVC中没有可用的服务器控件。为了学习,你可以查看other differences in asp.net web form and MVC范式是什么,必须阅读this link。因此,您将了解自己可以做什么,不能在MVC中做什么。

现在要在MVC中显示可重复的数据,您需要使用LOOP并主动使用H​​TML帮助程序。您可以采用RAZOR语法或Asp.net语法来显示数据。

例如,在Razor中,您可以通过以下方式模仿Repeater的要求。

<div class="container">
    <header>
        <h3>Auctions</h3>
    </header>

    <ul id="auctions">

    @foreach(var auction in Model.Auctions) {
        <li>
            <h4 class="title">
                <a href="@auction.Url">@auction.Title</a>
            </h4>
        </li>
    }

    </ul>
</div>

为了快速了解什么是MVC以及如何进行装订,您可以参考Microsoft的Music Store tutorial,它解释了MVC学习者基本必需的东西。

你的问题很少,但我喜欢回答它们。 ;)快乐编码