![](/img/trans.png)
[英]How can I insert in database values from dropdown list based on a relationship between 2 tables? I am using ASP.NET c# Entity framework, Code first
[英]In ASP.NET MVC C# database First I am doing sum of values in textboxes but in database it does not insert the SUM result
我想在文本框中找到值的总和,然后在另一个文本框中显示总和,并将总和存储在数据库中。 使用下面的代码成功找到总和并将其显示在另一个文本框中但是它不会将总和存储在数据库中。
我检查了数据库,它显示在数据库的 TotalAvgHours 字段中输入了值 NULL。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(TimePeriodViewModel timePeriodVM)
{
var timeperiod = new TimePeriod
{
TotalAvgHours = timePeriodVM.TimePeriod.TotalAvgHours,
}
看法
全部的 public class TimePeriodViewModel
{
public IEnumerable<Personnel> Personnels { get; set; }
//public Personnel Personnel { get; set; }
public int PersonnelID { get; set; }
public IEnumerable<DailyRegister> DailyRegisters { get; set; }
public DailyRegister DailyRegister { get; set; }
public TimePeriod TimePeriod { get; set; }
}
时间段视图模型
public partial class TimePeriod
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public TimePeriod()
{
this.DailyRegisters = new HashSet<DailyRegister>();
}
public int TimePeriodID { get; set; }
public int PersonnelID { get; set; }
public System.DateTime StartDate { get; set; }
public System.DateTime EndDate { get; set; }
public Nullable<bool> IsSignedAvgAgreement { get; set; }
public Nullable<bool> IsSignedTimeSheet { get; set; }
public string SignedAvgBy { get; set; }
public string SignedTimeSheetBy { get; set; }
public Nullable<System.DateTime> SignedTimeSheetDate { get; set; }
public Nullable<decimal> TotalAvgHours { get; set; }
public Nullable<decimal> TotalTimeSheetHours { get; set; }
public Nullable<decimal> TotalOvertime { get; set; }
}
时间段
public partial class TimePeriod { [System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")] public TimePeriod() { this.DailyRegisters = new HashSet<DailyRegister>(); } public int TimePeriodID { get; set; } public int PersonnelID { get; set; } public System.DateTime StartDate { get; set; } public System.DateTime EndDate { get; set; } public Nullable<bool> IsSignedAvgAgreement { get; set; } public Nullable<bool> IsSignedTimeSheet { get; set; } public string SignedAvgBy { get; set; } public string SignedTimeSheetBy { get; set; } public Nullable<System.DateTime> SignedTimeSheetDate { get; set; } public Nullable<decimal> TotalAvgHours { get; set; } public Nullable<decimal> TotalTimeSheetHours { get; set; } public Nullable<decimal> TotalOvertime { get; set; } }
由于禁用应用于文本框的属性,您无法在发布时获取它的数据,而不是在文本框上使用只读属性。
尝试:
@Html.TextBox("TotalAvgHours", "", "{0:c}", new { @readonly = "readonly", @class = "form-control", id = "res2" })
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.