コード:
public ActionResult cbpnlNewUpdateConfigs(int id)
{
IEnumerable<StorageConfigurationModel> List = (IEnumerable<StorageConfigurationModel>)Session["ConfigurationList"];
foreach (StorageConfigurationModel configModel in List)
{
configModel.
}
return PartialView("cbpnlNewUpdateConfigs", new StorageConfigurationModel { });
}
モデルの要素をパネルに表示したいので、その情報を送信する部分ビューを実行します。しかし、このメソッドが呼び出されると、すべてのリストを確認し、必要な要素を見つけて、その情報を送信する必要があります。私が見ているとき、モデルの各プロパティを見ることができません。たとえば、モデルに ID と場所がありますが、「configModel」にはそれらが表示されません。
なんで?
明確化:メインビューには、リストを受け取るグリッドビューをStorageConfigurationModel
含む部分ビューと、1つだけを受け取るコールバックパネルを含む部分ビューがありますStorageConfigurationModel
と:
public class StorageConfigurationModel
{
public int QueueMonitorConfigurationsID { get; set; }
public PathType QueueMonitorConfigTypeName { get; set; }
public string Location { get; set; }
public UnitType QueueMonitorValueTypeName { get; set; }
public ThresholdType Threshold { get; set; }
public int Value { get; set; }
}
public enum UnitType
{
MB, GB, TB, Files, Percentage
}
public enum ThresholdType
{
Upper, Lower
}
public enum PathType
{
Path
}
そしてメインビュー:
@model IEnumerable<BPM.Website.Models.StorageConfigurationModel>
@Html.Partial("gvConfigurations", Model)
@Html.Partial("cbpnlNewUpdateConfigs", new {id = -1})
そのため、最初にロードするときに「-1」を送信して、パネルが空でロードされるようにします。しかし、グリッドビュー(最初の部分ビュー)で編集をクリックすると、クリックされたIDでパネルの部分ビューが読み込まれるため、リスト内の要素を見つけて送信する必要があります。