MVC2 jquery将对象从视图传递到控制器

时间:2012-05-30 17:59:55

标签: asp.net-mvc-2 jquery

我正在尝试将对象myclass传递给视图页面,我面临的问题是将null对象返回给控制器。有什么指针吗?

以下是我的ascx页面中的代码

<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<myclass>" %>

<div class="upModel" style="display:none">
<%= Model%>
</div>

<script type="text/javascript">
  $(document).ready(function () {

    $("#load").click(function () {
                try {

                   $.ajax({
                            type: "POST",
                            url: "Loadmyaction",
                            data:  $("#upModel").serialize(),  
                            contentType: "application/json; charset=utf-8", 
                            success: function(data) { 
                             alert(data); 

                             },
                            error: function(result) { alert("Error" + result); }
                        });
                }
                catch (err) {
                    alert(err.description);
                }
          });
     </script>



    **On controller, this is my method**

      public string Loadmyaction(string obj)
            {
    string str = "";
    return str;
    }

这里obj从视图中变为null。为什么没有数据传回控制器?

1 个答案:

答案 0 :(得分:0)

你确定它实际上是在击中你的方法吗?

你的jquery应该是这样的:

$.ajax({
    type: "POST",
    url: "<%=Url.Action("Loadmyaction") %>",
    data: $("#upModel").serialize(),
    dataType: "json",
    success: function(data) { 
        alert(data); 
    },
    error: function(result) { 
        alert("Error" + result); 
    }
});

尝试将参数类型更改为myClass,无论它是什么。

[HttpPost]
public JsonResult LoadMyAction(MyClass model)
{
    return Json("someString");
}