我之前問過這個問題,但我的答案不是MVC。我會再試一次。對不起,如果我的問題不好,因爲英語不是我的母語。如何發送field_1和field_2的值到使用jQuery的MVC控制器
我想給某些字段的值:
field_1
field_2
Field_3
要使用Ajax的服務器。
有沒有一種方法可以使用jQuery來做到這一點?請注意,有時它的字段是1-3,有時候可能還有更多的字段。
我之前問過這個問題,但我的答案不是MVC。我會再試一次。對不起,如果我的問題不好,因爲英語不是我的母語。如何發送field_1和field_2的值到使用jQuery的MVC控制器
我想給某些字段的值:
field_1
field_2
Field_3
要使用Ajax的服務器。
有沒有一種方法可以使用jQuery來做到這一點?請注意,有時它的字段是1-3,有時候可能還有更多的字段。
當然,這是可能的。這聽起來像你想要做的是傳遞一個字符串數組的MVC動作,或許是這樣的:
public class MyController
{
[HttpPost]
public ActionResult DoSomething(string[] strings)
{
return Json(new {success = true});
}
}
可以使用JsonResult
在一個ActionResult返回JSON編碼值,在這種情況下,一個匿名類型。
要在jQuery的做到這一點,代碼將是這個樣子:
function doSomething() {
var items = ['item1','item2','item3'];
$.ajax({
type: 'POST',
url: 'http://mysite/MyController/DoSomething',
data: items,
dataType: 'application/json',
success: function() {/*handle success here */}
});
}
在這裏,所有你需要做的就是填充items
陣列需要的值,或許ÿ詢問DOM。
你可以使用這樣的事情:
[在查看]
<script>
var actionUrlHere='@Url.Action("ActionName", "ControllerName")';
$.post(actionUrlHere,
{
fieldname_1: fieldValue_1,
fieldname_2: fieldValue_2,
fieldname_3: fieldValue_3,
});
</script>
[在控制器]
[HttpPost]
public void AjaxInputSave(string fieldname_1, string fieldname_2, fieldname_3)
{
...your logic here...
}
,或者如果你要發送數組: [在查看]
<script>
var actionUrlHere='@Url.Action("ActionName", "ControllerName")';
var fieldArrayValue = [111,222,333,444];
$.post(actionUrlHere,
{
fieldArrayName: fieldArrayValue
});
</script>
[在控制器]
[HttpPost]
public void AjaxInputSave(int [] fieldArrayName)
{
...your logic here...
}
這是我的0.02美元的價值。你可能想看看@ ScottGu關於這個主題的文章。這可能是有幫助的。這是關於MVC3。這裏的鏈接http://weblogs.asp.net/scottgu/archive/2010/07/27/introducing-asp-net-mvc-3-preview-1.aspx
希望這個脫光一下