zoukankan      html  css  js  c++  java
  • ASP.NET MVC之从视图传递数据到控制器

    1.数据存储模型Model:此方式未用到数据存储模型Model,仅简单的字符串string型数据传递

    前台接收显示数据视图View:
     1 <script type="text/javascript">
     2         $(function () {
     3             $("#submitButton").click(function () {
     4                 var data = $('#testData').val();
     5                 $.post("/TransportData/GetFrontViewData", { frontViewData: data }, function () {
     6                     alert("submit data is OK!");
     7                 });
     8             });
     9         })
    10 </script>
    11 
    12 <div style="height:300px; 100%">
    13  
    14         <div style="margin-left:100px;margin-top:50px;">
    15  
    16             <input id="testData" type="text" style="200px;" /><br />
    17  
    18             <input id="submitButton" type="button" style="height: 25px;  75px;margin-top:35px;" value="submit">
    19  
    20         </div>
    21  
    22 </div>

    后台处理数据控制器Controller:

     1 public class TransportDataController : Controller
     2     {
     3         //
     4         // GET: /TransportData/
     5  
     6         public ActionResult Index()
     7         {
     8  
     9             return View();
    10  
    11         }
    12  
    13         public string GetFrontViewData(string frontViewData)
    14         {
    15  
    16             //handle frontViewData code
    17  
    18             return frontViewData;
    19  
    20         }
    21     }

     

    2.数据存储模型Model:此方式用到数据存储模型Model

     1 public class Model
     2     {
     3  
     4         public string rtoNumber { set; get; }
     5  
     6         public string approver { set; get; }
     7  
     8         public string modifier { set; get; }
     9  
    10         public string comment { set; get; }
    11  
    12     }

    前台接收显示数据视图View:

     1 <div id="container">
     2  
     3         <table id="table">
     4  
     5             <tr>
     6  
     7                 <td><label>RTONumber</label><input name="rtoNumber" /></td>
     8  
     9                 <td><label>Approver</label><input name="approver" /></td>
    10  
    11                 <td><label>Modifier</label><input name="modifier" /></td>
    12  
    13                 <td><label>Comment</label><textarea name="comment" cols="30" rows="4"></textarea></td>
    14  
    15             </tr>
    16  
    17         </table>
    18  
    19         <input id="submit" type="button" value="submit"/>
    20  
    21 </div>
     1 <script type="text/javascript">
     2  
     3         $(function () {
     4  
     5             $('#submit').click(function () {
     6  
     7                 var model = [];
     8  
     9                 var subModel = [];
    10  
    11                 $.each($("table tr"), function (i, item) {
    12  
    13                     var RTONumber = $(item).find("[name=rtoNumber]").val();
    14  
    15                     var Approver = $(item).find("[name=approver]").val();
    16  
    17                     var Modifier = $(item).find("[name=modifier]").val();
    18  
    19                     var Comment = $(item).find("[name=comment]").val();
    20  
    21  
    22  
    23                     model.push({ rtoNumber: RTONumber, approver: Approver, modifier: Modifier, comment: Comment, checkBoxValue: subModel });
    24  
    25                 });
    26  
    27                 $.ajax({
    28  
    29                     url: '/TransportModelData/getModelInfo',
    30  
    31                     data: JSON.stringify(model),
    32  
    33                     type: 'POST',
    34  
    35                     contentType: 'application/json;charset=utf-8',
    36  
    37                     async: false,
    38  
    39                     success: function (data) {
    40  
    41                         //window.location.href = "/RequestStatus/RequestDetail?requestID=" + data.RequestID;
    42  
    43                         alert("Postting data is over!");
    44  
    45                     }
    46  
    47                 });
    48  
    49             });
    50  
    51         });
    52  
    53 </script>

    后台处理数据控制器Controller:

     1 public class TransportModelDataController : Controller
     2     {
     3         //
     4         // GET: /TransportModelData/
     5  
     6         public ActionResult Index()
     7         {
     8             return View();
     9         }
    10  
    11         public ActionResult getModelInfo(List<Model> model)
    12         {
    13  
    14             string rtoNumber = model[0].rtoNumber;
    15  
    16             string modifier = model[0].modifier;
    17  
    18             string comment = model[0].comment;
    19  
    20             string approver = model[0].approver;
    21  
    22             return Content("");
    23         }
    24     }

    3.传递数组到后台

     1 //前台请求
     2 $(function () {
     3             var value = ["C#", "JAVA", "PHP"];
     4             $("input[type='button']").click(function () {
     5                 $.ajax(
     6                     {
     7                         url: "/Home/List",
     8                         type: "Get",
     9                         data: { valuelist: value },
    10                         traditional: true,  //必须设置该属性,否则控制器中获取不到值
    11                         success: function (data) {
    12                             alert("Success");
    13                         }
    14                     });
    15             });
    16 
    17         });
    18 
    19 //后台代码
    20 public ActionResult List(List<string> valuelist)
    21 {
    22     return View();
    23 }

    4. 传递单个Model

     1 // 前台code
     2 @using (Html.BeginForm())
     3     {
     4         <div class="form-group">
     5             @Html.LabelFor(model => model.Name, new { @class = "control-label col-md-2" })
     6             <div class="col-md-10">
     7                 @Html.EditorFor(model => model.Name)
     8                 @Html.ValidationMessageFor(model => model.Name)
     9             </div>
    10         </div>
    11 
    12         <div class="form-group">
    13             @Html.LabelFor(model => model.Price, new { @class = "control-label col-md-2" })
    14             <div class="col-md-10">
    15                 @Html.EditorFor(model => model.Price)
    16                 @Html.ValidationMessageFor(model => model.Price)
    17             </div>
    18         </div>
    19 
    20         <div class="form-group">
    21             @Html.LabelFor(model => model.Color, new { @class = "control-label col-md-2" })
    22             <div class="col-md-10">
    23                 @Html.EditorFor(model => model.Color)
    24                 @Html.ValidationMessageFor(model => model.Color)
    25             </div>
    26         </div>
    27 
    28         <div class="form-group">
    29             <div class="col-md-offset-2 col-md-10">
    30                 <input type="submit" value="提交" class="btn btn-default" />
    31             </div>
    32         </div>
    33 
    34     }
    35 
    36 //实体code
    37 public class Products
    38     {
    39 
    40         public int Id { get; set; }
    41 
    42         [DisplayName("产品名称")]
    43         [Required(ErrorMessage = "此项不能为空")]
    44         public string Name { get; set; }
    45 
    46 
    47         [DisplayName("产品价格")]
    48         [Required(ErrorMessage = "此项不能为空")]
    49         public string Price { get; set; }
    50 
    51         [DisplayName("产品颜色")]
    52         [Required(ErrorMessage = "此项不能为空")]
    53         public string Color { get; set; }
    54 
    55     }
    56 
    57 //后台code
    58 public ActionResult Add(Products product)
    59 {
    60        return View();
    61 }

    5. 传递多个Model

    //前台code
    $("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");
                            }
                        });
                });
    //后台code
     public ActionResult List(List<Products> valuelist)
     {
           return View();
     }
  • 相关阅读:
    JavaScript数组方法
    模拟js数组indexOf方法
    js数组排序
    发布Exchange的SMTP,POP3服务器:ISA2006系列之十八
    用智能卡构建身份验证的马其诺防线:ISA2006系列之二十三
    Java与CSharp的相同与不同
    创建可传递的林信任,Active Directory系列之二十
    组策略指派Office2003分发,Active Directory系列之二十三
    发布Exchange的RPC以及RPC Over HTTPS:ISA2006系列之十九
    初步理解组策略,Active Directory系列之二十一
  • 原文地址:https://www.cnblogs.com/zhao987/p/13338953.html
Copyright © 2011-2022 走看看