0
我實現了一個基於斯科特Guthrie的文章 http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspxAsp.net MVC 3 - 控制器的動作沒有看到JSON對象
但我的控制器操作認爲傳遞給它的對象是空小試,甚至儘管我使用JSON.stringify並將數據打包到其中 - 我完全按照文章進行了操作。
在我的HTML
@using (Html.BeginForm("SomeAction", "ControllerName", FormMethod.Post, new { id = "FormID" })) {
<div class="editor-field">@Html.EditorFor(model => model.Date)</div>
<div class="editor-field">@Html.EditorFor(model => model.Id)</div>
<div class="editor-field">@Html.EditorFor(model => model.Name)</div>
<input type="button" value="save" onclick="Save();" />
}
在我的模型文件
namespace MyNamespace.Models
{
public class MyModel
{
public string Id { get; set; }
public string DateReceived { get; set; }
public string Name { get; set; }
}
}
在我的js
function Save() {
var myModelObj = { Id: $("#Id").val(),
DateReceived: $("#DateReceived").val(),
Name: $("#Name").val()
};
$.ajax({
type: "POST",
url: "/ControllerName/SomeAction",
data: JSON.stringify(myModelObj),
cache: false,
// dataType: "json",
success: function (data) {
alert('success!');
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
alert('error');
alert(XMLHttpRequest + "<br />" + textStatus + "<br />" + errorThrown);
}
});
在我的控制器
[HttpPost]
public ActionResult SomeAction(MyModel modelObj)
{
using (StreamWriter sw = new StreamWriter("/test.txt"))
{
sw.Write(modelObj.Id);
}
return null;
}
當我在sw.Write ...語句中放置斷點時,modelObj.Id爲null。
我錯過了什麼或者是否還有其他需要連線的東西?謝謝!
nope still null。我猜承諾的功能從來沒有發生過?任何人都可以詳細說明嗎? – sarsnake
不。功能絕對在那裏。我使用它很多。讓我仔細看看你的代碼。 – BZink
我也注意到sw.Write(「一些測試文本」);也不管用......不知道這是否有關係。它看起來像這個控制器/行動什麼都沒做,但執行絕對去那裏,因爲我把斷點 – sarsnake