2

MVC 3 を使用して初めてのインターネット アプリケーションを作成していますが、データを 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)' には無効な引数があります

どんなアイデアでも大歓迎です。ありがとう!

4

0 に答える 0