【发布时间】:2016-12-19 21:41:21
【问题描述】:
我在这里保存表单字段中的数据,我想在我的列表页面中显示。但我无法获得清单。任何人都可以对此提出建议。
这是我的 list.cshtml 代码
var saveTrainingProgram = function () {
console.log('in save');
$.ajax({
url: '/Affiliate/TrainingProgram/Save',
type: 'POST',
data: {
trainingProgramName: ff.trainingProgramName.val(),
colorCode: ff.colorCode.val()
}
}).done(function (response) {
if (response.status === 'success') {
} else {
}
}).fail(function (jqXHR, textStatus) {
$.isLoading('hide');
});
};
};
这是我的控制器代码:
[HttpPost]
[Authorize(Roles = "Affiliate")]
public ActionResult Save(string trainingProgramName, string colorCode)
{
CbJsonResponse response = new CbJsonResponse();
int errorCount = 0;
List<string> errorMessages = new List<string>(5);
if (string.IsNullOrEmpty(trainingProgramName))
{
errorCount++;
errorMessages.Add("Error: The Training Program Name is required.");
}
if (string.IsNullOrEmpty(colorCode))
{
// This is not a required field, assign a default value.
colorCode = CbConstants.TrainingProgramDefaultColorCode;
}
if (errorCount == 0)
{
Entities.TrainingProgram trainingProgram = new Entities.TrainingProgram();
trainingProgram.Name = trainingProgramName;
trainingProgram.ColorCode = colorCode;
if (TrainingProgramRepository.Instance.SaveTrainingProgram(trainingProgram))
{
response.Status = "success";
TrainingProgramListEntry listEntry = new TrainingProgramListEntry()
{
ID = trainingProgram.ID,
Name = trainingProgram.Name,
ColorCode = trainingProgram.ColorCode
};
// Include the list entry in the response.
response.Data.Add(listEntry);
}
}
else
{
response.Status = "failure";
response.Meta.Add("errorCount", Convert.ToString(errorCount));
response.Data.Add(errorMessages);
}
return Json(response, "application/json", System.Text.Encoding.UTF8, JsonRequestBehavior.AllowGet);
}
【问题讨论】:
-
您的控制器是否返回正确的列表?你能从浏览器控制台看到正确的响应吗?
-
错误发生在哪里确切?您的控制器方法是否接收到您期望从 ajax 函数获得的值?还是您的控制器方法内部发生了您不期望的事情?请说得更清楚,以便我们更有效率地提供帮助。
标签: c# jquery asp.net-mvc entity-framework entity-framework-6