我尝试将一些数据输入到名为“费用”的ViewData
中。这是从数据库中的“PrinterCreditsCost”列获取值,并应显示该列的值。但是,列名称也显示为大括号,因此与仅显示“2”相反,它显示“{PrinterCreditCost = 2}”。有谁知道我怎么能让它只显示“2”。这将用于数学方程,所以我只需要2。
代码如下:
var result = (from a in db.tblOptions.Include(t => t.PrinterCreditCost)
where a.ID == 1
select new
{
a.PrinterCreditCost
}
).First();
ViewData["Cost"] = result;
杰森的更新:
public int ID { get; set; }
public int Visible { get; set; }
public int DeleteLicense { get; set; }
public Nullable<int> ICTSurvey { get; set; }
public Nullable<int> PaidWorkSurvey { get; set; }
public Nullable<int> ICTGeneralSurvey { get; set; }
public Nullable<int> PESSCLSurvey { get; set; }
public Nullable<int> PastSurvey { get; set; }
public Nullable<int> PresentSurvey { get; set; }
public Nullable<int> Yr11Survey { get; set; }
public Nullable<int> NewScientistCount { get; set; }
public Nullable<int> UCASYear { get; set; }
public Nullable<int> OnlineSurveyActive { get; set; }
public Nullable<int> OnlineExaminationsActive { get; set; }
public string UCASFirstHalf { get; set; }
public string UCASSecondHalf { get; set; }
public string SIMSManual { get; set; }
public string SIMSApplication { get; set; }
public string SIMSAmpark { get; set; }
public Nullable<double> PrinterCreditFund { get; set; }
public Nullable<int> PrinterCreditCost { get; set; }
public string UCASIndividualFirstHalf { get; set; }
public string UCASIndividualSecondHalf { get; set; }
public string BookingSheetYear { get; set; }
public Nullable<System.DateTime> InductionDate { get; set; }
public string InductionYear { get; set; }
public virtual ICollection<tblPrinterCredit> tblPrinterCredits { get; set; }
答案 0 :(得分:0)
在查询的这一位
select new
{
a.PrinterCreditCost
}
您需要使用PrinterCreditCost
的属性,例如
select new
{
a.PrinterCreditCost.Value
}
我不知道Value
是否是您需要的属性,可能会被称为其他属性。
就目前而言,它确实看起来像您的查询返回列定义,而不是该列的值。
编辑:
我看到以下内容:
public Nullable<int> PrinterCreditCost { get; set; }
所以我很惊讶
select new
{
a.PrinterCreditCost.Value
}
不起作用。由于它是可以为空的值,.Value
属性应该返回值,而不是{ Value = 2 }
。我不确定那里发生了什么。
答案 1 :(得分:0)
DateTime
不正确,但将其更改为:
var result = (from a in db.tblOptions.Include(t => t.PrinterCreditCost)
where a.ID == 1
select new
{
a.PrinterCreditCost
}
).First();
ViewData["Cost"] = result;
(添加.Value)到ViewData行的末尾就可以了。