【问题标题】:Display Data from DataTable on ASP.net MVC 2在 ASP.net MVC 2 上显示来自 DataTable 的数据
【发布时间】:2013-12-26 20:56:59
【问题描述】:

我正在创建一个 asp.net mvc2 项目。我想显示数据表中的数据,但是当我运行项目时,它没有显示我想要显示的数据。

这些是我的代码:

HomeController.cs

    public ActionResult Index()
    {
        connection connect = new connection();
        string query = "SELECT Event_Name FROM tbl_Event WHERE Event_ID=2";

        return View(connect.SelectRecord(query));
    }

索引.aspx

    <%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<System.Data.DataTable>" %>

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

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

        <h2>Index</h2>
        <%Model.Rows[0].ItemArray[0].ToString(); %>

    </asp:Content>

connection.cs

        internal DataTable SelectRecord(string query)
        {
            try
            {
                OpenConnection();
                cmd = new SqlCommand(query, conn);
                adapter = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                return dt;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cmd = null;
                CloseConnection();
            }

        }

我想显示 Index.aspx 中的这一行

我已在此链接中尝试过 Kurt Schindler 的答案: Displaying standard DataTables in MVC 但它没有指定如何显示数据表中的特定数据。请帮我。我使用 datatable 在 asp.net 视图上显示数据的原因是因为我很乐意将它用作数据的临时存储。

【问题讨论】:

    标签: c# asp.net-mvc-2 datatable


    【解决方案1】:

    试试这个

    public ActionResult Index()
    {
        connection connect = new connection();
        string query = "SELECT Event_Name FROM tbl_Event WHERE Event_ID=2";
    
        return View(connect.SelectRecord(query));
    }
    internal DataTable SelectRecord(string query)
    {
            try
            {
                OpenConnection();
                cmd = new SqlCommand(query, conn);
                adapter = new SqlDataAdapter(cmd);
                DataTable dt = new DataTable();
                adapter.Fill(dt);
                return dt;
            }
            catch (Exception ex)
            {
                throw ex;
            }
            finally
            {
                cmd = null;
                CloseConnection();
            }
    
    }
    

    这里是查看

    视图:(强类型为 System.Data.DataTable)

    <table border="1">
    <thead>
        <tr>
            <%foreach (System.Data.DataColumn col in Model.Columns) { %>
                <th><%=col.Event_Name%></th>
            <%} %>
        </tr>
    </thead>
    <tbody>
    <% foreach(System.Data.DataRow row in Model.Rows) { %>
        <tr>
            <% foreach (var cell in row.ItemArray) {%>
                <td><%=cell.ToString() %></td>
            <%} %>
        </tr>
    <%} %>         
    </tbody>
    

    查看此链接:http://weblogs.asp.net/gunnarpeipman/archive/2011/11/19/asp-net-mvc-simple-view-to-display-contents-of-datatable.aspx

    【讨论】:

    • 哦!我已经想通了。问题在于我的 Index.aspx 行 Model.Rows[0].ItemArray[0].ToString(); 应该是 =Model.Rows[0].ItemArray[0] .ToString() 事实证明,在视图中显示模型时,应删除分号并应先添加 = 符号。哈哈哈,我花了一段时间才弄明白,哈哈,谢谢@Ajay Punekar
    猜你喜欢
    • 2021-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 2021-06-04
    • 1970-01-01
    相关资源
    最近更新 更多