這篇文章主要介紹了ASP.NET MVC從視圖傳參到控制器的幾種形式,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
1. 傳遞數組
$(function () { var value = ["C#", "JAVA", "PHP"]; $("input[type='button']").click(function () { $.ajax( { url: "/Home/List", type: "Get", data: { valuelist: value }, traditional: true, //必須設定該屬性,否則控制器中擷取不到值 success: function (data) { alert("Success"); } }); }); });public ActionResult List(List<string> valuelist) { return View(); }
調試效果:
2. 傳遞單個Model
@using (Html.BeginForm()) { <p class="form-group"> @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" }) <p class="col-md-10"> @Html.EditorFor(model => model.Name) @Html.ValidationMessageFor(model => model.Name) </p> </p> <p class="form-group"> @Html.LabelFor(model => model.Price, new { @class = "control-label col-md-2" }) <p class="col-md-10"> @Html.EditorFor(model => model.Price) @Html.ValidationMessageFor(model => model.Price) </p> </p> <p class="form-group"> @Html.LabelFor(model => model.Color, new { @class = "control-label col-md-2" }) <p class="col-md-10"> @Html.EditorFor(model => model.Color) @Html.ValidationMessageFor(model => model.Color) </p> </p> <p class="form-group"> <p class="col-md-offset-2 col-md-10"> <input type="submit" value="提交" class="btn btn-default" /> </p> </p> }
public class Products { public int Id { get; set; } [DisplayName("產品名稱")] [Required(ErrorMessage = "此項不可為空")] public string Name { get; set; } [DisplayName("產品價格")] [Required(ErrorMessage = "此項不可為空")] public string Price { get; set; } [DisplayName("產品顏色")] [Required(ErrorMessage = "此項不可為空")] public string Color { get; set; } } public ActionResult Add(Products product) { return View(); }
調試效果:
3. 傳遞多個Model
$("input[type='submit']").click(function () { var promodes = []; promodes.push({ Id: "0", Name: "手機", Color: "白色",Price:"2499" }); promodes.push({ Id: "1", Name: "耳機", Color: "黑色", Price: "268" }); promodes.push({ Id: "2", Name: "充電器", Color: "黃色",Price: "99" }); $.ajax( { url: "/Home/List", type: "Post", data: JSON.stringify(promodes), //必須對數組進行序列化 contentType:"application/json", //設定contentType的值為"application/json",預設為"application/json" success: function (data) { alert("Success"); } }); });
public ActionResult List(List<Products> valuelist) { return View(); }
調試效果: