如何从视图获取值到控制器

How to get value to the controller from view

本文关键字:控制器 获取 视图      更新时间:2023-09-26

我正在努力为我的控制器获得价值。请有人建议一种方法来获得值控制器从视图。应用程序是在。net 3.5和MVC 2为。net 3.5

使用jquery和控制器的视图是:

jquery和html是:
<tr>
  <td style ="width: 313px">
    <label for="Product Code"> Product 
Code&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    </label>&nbsp;&nbsp;
    <select id ="prodList" style = "width:150px">
      <option value ="GL ">GL </option>
      <option value ="Property" selected="selected">Property </option>
      <option value ="Package" >Package </option>
      <option value ="Island" >Island </option>
    </select>
  </td>
  <td style="width: 313px"><input type ="button" id="addProd" value ="Add Product" /></td>
</tr>
<script src="/Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery-1.4.1.js" type="text/javascript"></script>
<script src="/Scripts/jquery-1.4.1.min-vsdoc.js" type="text/javascript"></script>
<script src="/Scripts/jquery-1.4.1-vsdoc.js" type="text/javascript"></script>
<script type="text/javascript">
  $(function() {
    $("#addProd").click(function() {
      //alert("here");
      var selectedID = $("#prodList").val();
      alert("me 1" + selectedID);
      $.ajax({
        url: "/WorkFlowTest/ProductSubmission/",
        type: 'POST',
        data: { productID: $("#prodList").val() },
        contentType: 'application/json; charset=utf-8',
        success: function(data) {
          //alert(data.success);
          alert("success");
        },
        error: function() {
          alert("error");
        }
      });
    });
  });
</script>
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult ProductSubmission(string productID, ViewModels.WorkFlowTestViewModel SubmissionModelView)
{
     SubmissionModelView.selectedProd = prodSelected   ;
     return View("Submission", SubmissionModelView);
}

在jquery函数中,alert具有选定的值,但是对于SubmissionModelView的所有属性为null, productId也为null

虽然在浏览器控制台我得到源{"productId":"Property"},但我不能理解为什么我的帖子没有得到任何值在行动ProductSubmission

可以任何一个帮助,我只需要控制器获得选定的选项值在Post上,甚至在Post上的文本值。我无法从视图到控制器获得任何值,我的模型也具有POST中的所有属性null。请帮助

您应该使用JSON将对象转换为JSON字符串。stringify函数。

 $.ajax({
    url: "/WorkFlowTest/ProductSubmission/",
    type: 'POST',
    data: JSON.stringify({ productID: $("#prodList").val() }),
    contentType: 'application/json; charset=utf-8',
    success: function(data) {
      //alert(data.success);
      alert("success");
    },
    error: function() {
      alert("error");
    }
  });