【发布时间】:2013-09-13 22:08:03
【问题描述】:
这是我的路线:
routes.MapHttpRoute(name: "InsertOrUpdateDirector", routeTemplate: "api/awards/directors", defaults: new
{
controller = "Awards", action = "InsertDirector"
});
这是控制器方法:
[HttpPost]
public void InsertOrUpdateDirector(Director director, string operation)
{
string query = null;
myConnection.Open();
if (operation == "I")
{
query = "INSERT INTO...";
}
else if (operation == "U")
{
query = "UPDATE...";
}
var cmd = new SqlCommand(query, myConnection);
cmd.ExecuteNonQuery();
myConnection.Close();
}
如果我向上面发送一个 JSON 对象,它就可以工作。
现在我需要能够传递 JSON 对象以及字符串参数。
这是仅传递 JSON 对象的 AJAX 调用:
$.ajax({
url: "http://localhost/x/api/awards/directors",
type: "POST",
dataType: "json",
data: directorData
}).done(function () {
detailRow.find(".directorsOrRecipients").data("kendoGrid").refresh();
});
我的问题是,在这种情况下,如何将 JSON 对象以及字符串“I”传递给控制器?
directorData 是一个 JSON 对象,顺便说一下。
【问题讨论】:
-
您需要创建一个带有
director属性和operation属性的JSON 对象。前者包含您的directorData,后者包含您希望传递的字符串。 -
这实际上是最简单的解决方案。
标签: ajax asp.net-web-api