私は ajax jQuery メソッドを使用するつもりはありません。div に .load() メソッドを使用したいと思います。私のjavascriptメソッドは次のようになります。
function PartialViewLoadArray(aName, aValue, aGuid, aName2, aValue2, aGuid2) {
modelArray = [];
modelArray.push({ Name: aName, Value: aValue, Guid: aGuid });
modelArray.push({ Name: aName2, Value: aValue2, Guid: aGuid2 });
$('#examplediv').load(
'/Example/PartialByModelArray/',
{ ModelArray: modelArray },
function () {
alert('the load has completed!');
}
);
}
コントローラーのアクションは次のとおりです。
public PartialViewResult PartialByModelArray(ExamplePartialArrayModel aModel)
{
return PartialView("_ExamplePartialByArray", aModel);
}
私のアレイモデル:
public class ExamplePartialArrayModel
{
public ExamplePartialModel[] ModelArray { get; set; }
}
上記のモデルに含まれるモデル:
public class ExamplePartialModel
{
private string _Name;
private int? _Value;
private string _Guid;
public string Name
{
get { return this._Name; }
set { this._Name = value; }
}
public int? Value
{
get { return this._Value; }
set { this._Value = value; }
}
public string Guid
{
get { return this._Guid; }
set { this._Guid = value; }
}
}
コンテキストや文字列ライターなどを使用して部分ビューを手動でレンダリングすると、この div にコンテンツをロードできることはわかっていますが、この load() ステートメントを機能させることができるはずです。MVC がこのデータを取得しないのはなぜですか? 非常に奇妙なのは、アクションの最初の行にブレークポイントを設定すると、配列内に 2 つの項目が表示されることですが、それらのプロパティはすべて null です。配列内のアイテムの量を決定するが、それらの値をバインドしないにはどうすればよいでしょうか? 何が起こっている?私は当惑しています。