0

我试图将对象 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 。为什么没有数据被传回控制器?

4

1 回答 1

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");
}
于 2012-05-30T18:07:10.127 回答