【发布时间】:2015-03-16 18:55:58
【问题描述】:
我正在尝试在控制器类中设置属性Klimatogram.Locatie,如下所示:
public ActionResult SelectKlimatorgramVanLocatie(LocatieKlimatogramViewModel model)
{
Locatie selectedLocatie = (Locatie)Session["GevondenLocatie"];
Klimatogram klimatogram = new Klimatogram(selectedLocatie);
TempData["kilmatogram"] = klimatogram;
return RedirectToAction("Index", "Vragen");
}
所以如果我调试我可以看到klimatogram.Locatie 是由selectedLocatie 设置的。
编辑:
现在 klimatogram.Locatie 被填满了。但是当我查看 Klimatogram 中的值时,它们都是 0。
这是 Klimatogram 类中的一个示例:
public class Klimatogram
{
public Klimatogram(Locatie selectedLocatie)
{
Locatie =selectedLocatie;
}
public Locatie Locatie { get; set; }
public int Id { get; set; }
private double warmsteMaand;
private double aantalDrogeMaanden;
private double gemJaarTemp;
private double gemJaarNeerslag;
private double hoeveelNeerslagWinter;
private double hoeveelNeerslagZomer;
private double koudsteMaand;
public int klimaId { get; set; }
public double TempWarmsteMaand
{
get { return warmsteMaand; }
set
{
value = Locatie.TemperatuurPerMaand[0];
for (int i = 1; i < 12; i++)
{
if (Locatie.TemperatuurPerMaand[i] > value)
{
value = Locatie.TemperatuurPerMaand[i];
}
}
warmsteMaand = value;
}
}
所以这个方法没有从我的Locate 中获得任何价值。当我调试它说它是 0 这是错误的。
这是我的 vragenController:
公共行动结果索引() {
var klimatogram = (Klimatogram)TempData["kilmatogram"];
VragenViewModel vragenViewModel = new VragenViewModel(klimatogram);
return View("VragenControl",vragenViewModel);
}
这是视图模型:
公共类 VragenViewModel {
// public SelectList Maanden { get; set; }
public VragenViewModel()
{
}
public VragenViewModel(Klimatogram klima)
{
warm = klima.TempWarmsteMaand;
koud = klima.TempKoudsteMaand;
droge = klima.AantalDrogeMaanden;
winterneerslag = klima.HoeveelheidNeerslagWinter;
zomerneerslag = klima.HoeveelheidNeerslagZomer;
}
public double zomerneerslag
{ get; set; }
public double winterneerslag { get; set; }
public double droge { get; set; }
public double koud { get; set; }
public double warm { get; set; }
}
【问题讨论】:
-
您是说
Locatie在Index视图中为空吗?你能发布视图的相关代码吗? -
如果不需要使用session,就不要使用。你不能使用你的视图模型传递这个属性吗?检查 Session 缓存时,在执行的不同点会发生什么?
标签: c# properties