0
モデルのコード:C#でモデルからコントローラ(MVC)へのリストの追加
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
namespace testing.Models
{
public class SchemaDefinition
{
public List<RecordInfo> Input { get; set; }
public List<RecordInfo> Output { get; set; }
}
public class RecordInfo
{
public string RecordId { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public List<FieldInfo> FieldInfo { get; set; }
}
public class FieldInfo
{
public string Name { get; set; }
public string Description { get; set; }
public int Length { get; set; }
public int Start { get; set; }
public int End { get; set; }
public string Format { get; set; }
}
}
コントローラコード
var SchemaDefintion = new SchemaDefinition();
for (int Currentsheet = 1; Currentsheet <= WorksheetCount; Currentsheet=Currentsheet+1)
{
Excel.Worksheet worksheet = workbook.Sheets[Currentsheet];
string SheetName = worksheet.Name;
if (SheetName.Substring(0, 2) != "A" || SheetName.Substring(0, 2) != "B")
{
//Error that invalid excel sheet
}
Excel.Range range = worksheet.UsedRange;
var ListFields = new List<FieldInfo>();
for (int row = 2; row <= range.Rows.Count; row++)
{
var Fieldproperties = new FieldInfo {Name = ((Excel.Range)range.Cells[row, 1]).Text, Description = ((Excel.Range)range.Cells[row, 2]).Text,
Length =Convert.ToInt32(((Excel.Range)range.Cells[row, 3]).Text),
Start=Convert.ToInt32(((Excel.Range)range.Cells[row, 4]).Text),
End=Convert.ToInt32(((Excel.Range)range.Cells[row, 5]).Text),
Format= ((Excel.Range)range.Cells[row, 6]).Text
};
ListFields.Add(Fieldproperties);
}
SchemaDefintion.Input.Add(new testing.Models.RecordInfo { RecordId = "A", Name = "header", Description = "description", FieldInfo = ListFields });
私は私のコードでデバッグを入れたとき、それは時にエラーがスローされます下の行
SchemaDefintion.Input.Add(new testing.Models.RecordInfo { RecordId = "A", Name = "header", Description = "description", FieldInfo = ListFields });`
エラーdエスケープとして
'/'アプリケーションのサーバーエラーです。
________________________________________オブジェクト参照がオブジェクトのインスタンスに設定されていません。説明:現在のWeb要求の実行中に未処理の例外が発生しました。 エラーの詳細とコード内にある の詳細については、 スタックトレースを確認してください。
例外の詳細:System.NullReferenceException:オブジェクト参照ではない オブジェクトのインスタンスに設定します。
[NullReferenceExceptionとは何か、それを修正するにはどうすればいいですか?](https://stackoverflow.com/questions/4660142/what-is-a-nullreferenceexception-and-how-do-i-fix -it) –
入力プロパティと出力プロパティが初期化されていないため、追加しようとすると両方ともnullになります。 – Tistkle
MVCコードの入出力プロパティを初期化するにはどうすればよいですか? – Jayendran