又一个MVC问题。有一天,我会看看我的“MVC学习日”并微笑。
所以至关重要,正如标题所示;一个不变的400响应,我已经阅读了很多关于SO的帖子,但似乎仍然无法让我的逻辑工作。如果我可以告诉你逻辑,有人可能会帮助我。
控制器:
public JsonResult CreateExtendedProperty(ExtendedPropertyDefinitionViewModel extendedPropertyDefinitionViewModel)
{
//I originally had JsonResult as ActionResult, still no change.
var p = extendedPropertyDefinitionViewModel;
//Temp
//return Json(new { Success = false, ErrorMessage = "Error creating property" });
}
Ajax / Javascript:
var extendedPropertyDefinition = JSON.stringify({
DefinitionId: '0',
Title: propertyInfo["Title"],
OrganisationId: '0',
Organisation: '',
TypeId: propertyInfo["TypeId"],
SortOrder: 0,
IsEnumerated: propertyInfo["IsEnumerated"],
AllowMultiSelect: propertyInfo["AllowMultiSelect"],
IsDate: propertyInfo["IsDate"],
LastUpdatedBy: "",
LastUpdatedDateTime: new Date().toISOString(),
CreatedBy: "",
CreatedByDateTime: new Date().toISOString(),
Options: {
OptionId: '0',
Option: '',
OptionValue: '',
SortOrder: 0,
LastUpdatedBy: '',
LastUpdatedDateTime: new Date().toISOString(),
CreatedBy: '',
CreatedByDateTime: new Date().toISOString(),
}
});
$.ajax({
url: "<%= Url.Action('CreateExtendedProperty', 'Organisation') %>",
contentType: "application/json; charset=utf-8",
dataType: "json",
//traditional: true,
type: 'POST',
data: extendedPropertyDefinition,
success: function(e) {
alert('success');
//Rebuild Grid?
},
error: function(e) {
alert('request failed (500)');
}
});
希望有人能走上正确的道路,所有人都会非常感激。
此致
答案 0 :(得分:0)
因此,只需从评论中获得答案 - 您必须确保编译<%= Url.Action('CreateExtendedProperty', 'Organisation') %>
。如果它位于单独的JS文件中,则必须从视图中传递它。否则它可能是一些其他问题(如果你使用Razor语法,它应该像@Url.Action("CreateExtendedProperty", "Organisation")
)