3
當我通過我的代碼進行調試時,我在Post EmployeeReviewEdit方法中爲'review'參數獲取一個空值。當我瀏覽HttpGET方法時,'review'的返回值看起來是正確的,並且eveything在視圖中正確填充,但當我回發到操作時,參數爲空,我似乎無法弄清楚原因。Post方法獲取一個空參數ASP .NET MVC
這裏是我的GET和POST操作:
[HttpGet]
public ActionResult EmployeeReviewEdit(int id, string employeeName)
{
ViewBag.EmployeeName = employeeName;
var review = _employeeDb.EmployeeReviews.Find(id);
var cono = _employeeDb.EmployeeMasters.FirstOrDefault(e => e.EmployeeNumber == review.EmployeeNo).CompanyNumber;
var list = _selectListLib.GetManagers((int)cono,Convert.ToInt32(review.ReviewBy));
ViewBag.ManagerList = list;
return View(review);
}
[HttpPost]
public ActionResult EmployeeReviewEdit(EmployeeReview review)
{
_dbDataManipulation.UpdateEmployeeReview((int)review.EmployeeNo,(DateTime) review.ReviewDate, review.ReviewBy, CurrentUserName(), review.Id);
return RedirectToAction("EmployeeReview", new { empNo = review.EmployeeNo});
}
這是我的觀點:
@model EmployeeMaster.Models.EmployeeReview
@{
ViewBag.Title = "EmployeeReviewEdit";
}
@section scripts
{
<script type="text/javascript">
$(function() {
$('#ReviewDate').datepicker();
});
</script>
}
<div id="results-container" style="background-color: #c9c9c9; padding: 10px; margin-top: 40px;">
<h2>@ViewBag.EmployeeName - Edit Review</h2>
<div style="background-color: #9e2b3c; padding: 1px; margin-bottom: 10px"></div>
@using (Html.BeginForm("EmployeeReviewEdit","Employee", FormMethod.Post, new{@id = "review-edit-form"}))
{
@Html.Label("Review Date: ", new { id = "reviewdate-label" })
@Html.TextBoxFor(model => model.ReviewDate,"{0:d}", new { @class = "form-control" })
@Html.Label("Review By: ", new { id = "reviewby-label" })
@Html.DropDownListFor(model => model.ReviewBy, (List <SelectListItem>)ViewBag.ManagerList, new { @class = "form-control" })
@Html.HiddenFor(model => model.EmployeeNo)
@Html.HiddenFor(model => model.CreatedBy)
@Html.HiddenFor(model => model.CreatedOn)
@Html.HiddenFor(model => model.ModifiedBy)
@Html.HiddenFor(model => model.ModifiedOn)
@Html.HiddenFor(model => model.Id)
<input type="submit" name="review" class="col-sm-1 btn btn-default" id="edit-button"value="Save" />
}
</div>
我的問題,我的輸入控制有一個名字「審查」這是造成混淆我的參數,這也被稱爲「審查」我改變了我的名字NPUT [提交]。
我看不出有什麼明顯的錯誤。您是否使用過Fiddler或瀏覽器內工具查看POST上的請求正文並確認它看起來正確?有沒有爲您的應用程序配置任何自定義模型綁定器? – 2014-09-03 19:58:22
我其實只是想出了這個問題,併發布在我的文章的底部 – user3788671 2014-09-03 20:00:11
我現在就刪除這篇文章嗎?或者我只是離開它? – user3788671 2014-09-03 20:00:36