使用带有MVC 3和WebGrid的数据表

时间:2012-07-13 16:43:23

标签: asp.net-mvc-3

我正在使用MVC 3编写我的第一个Internet应用程序,但是我遇到了将数据绑定到Webgrid的问题。我使用存储过程提取数据并将其存储在模型中的数据表中。我无法使用数据表直接绑定,所以我将它转换为EnumerableRowCollection,但我似乎无法让它工作。

我已经看到了他们列出模型中每个字段的示例,我认为这是一种非常荒谬的方式。此外,根据他们选择查看的内容和他们看到的顺序,为此报告或动态返回的字段。

在我的模特中:

namespace ShipStatReportsModels.Models
{
    public class ShipStatData
    {
        public EnumerableRowCollection GetReportData()
        {
            SqlDataAdapter da = new SqlDataAdapter();
            DataTable dt = new DataTable();
            try
            {
                using (SqlConnection _SqlConnection = new SqlConnection(ConfigurationManager.AppSettings["ADONETHorizoninetuser"]))
                {
                    using (SqlCommand cmd = new SqlCommand("UP_ShipStatReports_DataPresentation", _SqlConnection))
                    {
                        cmd.CommandTimeout = 120;
                        cmd.CommandType = System.Data.CommandType.StoredProcedure;

                        cmd.Parameters.AddWithValue("@Contact_id", 43135);
                        cmd.Parameters.AddWithValue("@Contact_Server_ID", 17);
                        cmd.Parameters.AddWithValue("@Report_Id", 1);

                        da.SelectCommand = cmd;
                        da.Fill(dt);
                    }
                }

            }
            catch (Exception ex)
            {
                throw ex;
            }          

            return dt.AsEnumerable();
        }

    }
}

在我的收藏中:

public ActionResult Reports()
{
    ShipStatData modelObject = new ShipStatData();
    EnumerableRowCollection resultSet = modelObject.GetReportData();

    return View(resultSet);
}

在我看来:

@{

    ViewBag.Title = "Reports";
}
@model ShipStatReportsModels.Models.ShipStatData

@{
    var Grid = new WebGrid(@Model);
}


<h2>Reports</h2>

<div>
@Grid.GetHtml(
    tableStyle: "grid",
    headerStyle: "head",
    alternatingRowStyle: "alt"
    )
)
</div>

但是我收到以下错误:

编译错误 描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。

编译器错误消息:CS1502:'System.Web.Helpers.WebGrid.WebGrid的最佳重载方法匹配(System.Collections.Generic.IEnumerable,System.Collections.Generic.IEnumerable,string,int,bool,bool, string,string,string,string,string,string,string)'有一些无效的参数

任何想法都将不胜感激。谢谢!

0 个答案:

没有答案