【问题标题】:How to use methods in MVC 3 aspx engineand how to use Repeater control in mvc 3?如何在 MVC 3 aspx 引擎中使用方法以及如何在 mvc 3 中使用中继器控件?
【发布时间】:2012-03-22 12:59:47
【问题描述】:

我是 asp.net Mvc 的初学者。我试着做一些练习来学习它。我在这个链接中的示例:http://weblogs.asp.net/scottgu/archive/2007/12/06/asp-net-mvc-framework-part-3-passing-viewdata-from-controllers-to-views.aspx

我使用此链接制作相同的样本:

我的观点:


<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" CodeBehind="~/Views/Product/ListProducts.aspx.cs" AutoEventWireup="true"  Inherits="MvcAppExtNet.Views.Product.ListProducts" %>

<asp:Content ID="Content1" ContentPlaceHolderID="TitleContent" runat="server">
    ListProducts
</asp:Content>

<asp:Content ID="Content2" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">

<h2>ListProducts</h2>


</asp:Content>

<asp:Content ID="Content3" ContentPlaceHolderID="head" runat="server">
</asp:Content>

<asp:Content ID="Content4" ContentPlaceHolderID="ContentPlaceHolder2" runat="server">
<asp:Repeater ID="ProductList" runat="server">
<ItemTemplate>
<li>
<%#Eval("Name") %>
</li>
</ItemTemplate>
</asp:Repeater>
</asp:Content>

我的控制器:

namespace MvcAppExtNet.Controllers
{
    public class ProductController : Controller
    {
        //
        // GET: /Product/
       
        public void GetProduct()
        {
            List<Products> list = new List<Products>() { 
                new Products() { Id = 1, Name = "Hıyar" }, 
                new Products() { Id = 2, Name = "Kereviz" } };

            ViewData["Products"] = list;
        }

    }
}

如果你查看 ListProducts.aspx.cs:

如何在 C#codes 上查看我的中继器控件(ProductList 是一种中继器!!!!)?还有如何使用方法(不使用 ActionResult)?非常感谢。

【问题讨论】:

  • asp.net MVC 不是 asp.net webforms,要以与转发器类似的方式呈现数据,您可以在视图文件中编写 foreach
  • MVC 中没有数据绑定或服务器控件,这样会更好。在 MVC 中,您将视图模型传递给视图,并在那里编写“显示逻辑”。我建议您在将其用于任何实际项目之前先了解 Asp.Net MVC 的基础知识。

标签: c# asp.net-mvc asp.net-mvc-3


【解决方案1】:

MVC 与 Web 表单的工作方式略有不同。您不在视图中使用控件,并且 MVC 没有转发器控件。它具有模型绑定和 Razor,让您拥有更多控制权。

通过一些阅读,您应该很快就能理解它。我建议你开始here

祝你好运

【讨论】:

    【解决方案2】:

    MVC 3 没有控件和视图状态。如果你问这个问题,那么你缺少一些关于 MVC 模式的基础知识,因此我建议你通过 http://www.asp.net/mvc 上的教程来学习

    【讨论】:

      【解决方案3】:

      这个问题在 ASP.NET MVC3 中被标记,所以我将照此回答。

      http://www.asp.net/mvc 学习许多教程。这确实是一个令人兴奋的框架,我更喜欢它而不是 Web 表单。从 MVC3 开始。

      应该这样做的方式是控制器通过执行存储库调用从数据库中获取产品列表。控制器获取此产品列表并将其传递给视图。视图将呈现它。基本上我会这样做:

      产品类别:

      public class Product
      {
           public int Id { get; set; }
           public string Name { get; set; }
      }
      

      我的视图模型:

      public class ProductListViewModel
      {
           IEnumerable<Product> Products { get; set; }
      }
      

      在我的控制器中的操作方法中,我执行数据库调用以返回产品。然后我实例化一个新的视图模型对象并将 Products 属性设置为从数据库返回的列表:

      public ActionResult List()
      {
           ProductListViewModel viewModel = new ProductListViewModel
           {
                Products = productRepository.GetAllProducts()
           };
      
           return View(viewModel);
      }
      

      在我看来,我会有以下几点:

      <table>
      
      @foreach(Product product in Model.Products)
      {
           <tr>
                <td>Product Name:</td>
                <td>product.Name</td>
           </tr>
      }
      
      </table>
      

      我希望我已经为你解决了问题。这只是一个指南,使用它并相应地修改它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-09-02
        相关资源
        最近更新 更多