これが私のルートです:
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オブジェクトです。