我想在文本框中找到值的總和,然后在另一個文本框中顯示 SUM 并將 SUM 存盤在 DATABASE 中。使用下面的代碼成功找到總和并將其顯示在另一個文本框中但是它不會將總和存盤在資料庫中。
我檢查了資料庫,它顯示在資料庫的 TotalAvgHours 欄位中輸入了 NULL 值。
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create(TimePeriodViewModel timePeriodVM)
{
var timeperiod = new TimePeriod
{
TotalAvgHours = timePeriodVM.TimePeriod.TotalAvgHours,
}
看法
全部的 <td>
@Html.TextBox("TotalAvgHours", "", "{0:c}", new { disabled = "disabled", @class = "form-control", id = "res2" })
<script type="text/javascript">
function sum2() {
var one = document.getElementById('a2').value || "0";
var two = document.getElementById('b2').value || "0";
var three = document.getElementById('c2').value || "0";
var four = document.getElementById('d2').value || "0";
var five = document.getElementById('e2').value || "0";
var six = document.getElementById('f2').value || "0";
var seven = document.getElementById('g2').value || "0";
var eight = document.getElementById('h2').value || "0";
var nine = document.getElementById('i2').value || "0";
var ten = document.getElementById('j2').value || "0";
var eleven = document.getElementById('k2').value || "0";
var twelve = document.getElementById('l2').value || "0";
var thirteen = document.getElementById('m2').value || "0";
var fourteen = document.getElementById('n2').value || "0";
var fifteen = document.getElementById('o2').value || "0";
var result = parseFloat(one) parseFloat(two) parseFloat(three) parseFloat(four) parseFloat(five) parseFloat(six) parseFloat(seven)
parseFloat(eight) parseFloat(nine) parseFloat(ten) parseFloat(eleven) parseFloat(twelve) parseFloat(thirteen) parseFloat(fourteen) parseFloat(fifteen);
if (!isNaN(result)) {
document.getElementById('res2').value = result;
}
}
window.onload = sum2;
</script>
</td>
</tr>
時間段視圖模型
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; }
}
uj5u.com熱心網友回復:
由于禁用了應用于您的屬性屬性是文本框,您無法在發布時獲取它的資料,而不是在文本框上使用只讀屬性屬性。
嘗試 :
@Html.TextBox("TotalAvgHours", "", "{0:c}", new { @readonly = "readonly", @class = "form-control", id = "res2" })
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/435086.html
標籤:C# asp.net-mvc
上一篇:控制器類的回應
