关于jquery:部分视图不是从控制器渲染的? 为什么?

Partial View not rendered from controller? WHY?

这是根据我的问题:

如何将从jQuery创建的数组传递给控制器??方法?

这是我的控制器返回局部视图:

1
2
3
4
5
     public ActionResult PartialViewChild(int id)
     {
    //stmts /*model is assigned here */
    return PartialView("ChildPartialView", model);
     }

我现在的问题是,从我的控制器操作返回的视图不是由$.ajax()调用呈现的。我已经在成功函数中放了一个调试器,它从来没有打到那里。所以,偶然的,我在ajax调用中添加了一个错误函数,比如

1
2
3
4
5
6
7
8
9
10
11
12
        var id=currentSelected.Id;
        $.ajax({
        url:"@(Url.Action("PartialViewChild","ControllerChild")",
        type:"POST",
        data: JSON.stringify({id : id}),
        cache: false,
        success: function (result) {
        $("#id1").html(result);
        },
         error: function (data, errorThrown) {
         alert('request failed :' + errorThrown);
         }});

我还发现,id为"id1"的div必须为空才能正确呈现局部视图。但是,开始时的div会呈现一个像EmptyView的那样,

1
       @{Html.RenderPartial("ChildPartialView", new ChildPartialModel());}

并且基于ajax调用,我想用返回的结果填充该div(现在所有的属性都有值)..
但是,不幸的是,在这里我只是从ajax调用中得到错误警告:()告诉我有一个"解析错误"。

有人能告诉我怎么纠正它?

编辑:

这是我的部分视图:

1
2
3
4
5
6
    @model Models.ChildColumnsModel
   
    <span>@Html.LabelFor(c => c.Phone_Number):</span>
    <span>@Html.TextBoxFor(c=> c.Phone_Number)</span>
   
    // like this it has all its attributes...

在我的控制器中:

1
2
3
4
5
    public PartialViewResult PartialViewChild(int id)
     {
     var model=child.GetReletedInfo(id); /*proper results are returned here which is of ChildColumnsModel type */
     return PartialView("ChildPartialView", model);
     }


抱歉所有......我解决了这个问题。 我有一个额外的属性为ajax告诉它的dataType:"Json"......当我删除它时,一切都很精细..我自己多么愚蠢..?!! 谢谢大家的有价值的答案和时间朋友..


编辑:

试试这个:

1
2
3
4
5
6
[HttpPost]
public ActionResult ChildPartialView(int id)
 {
    //stmts /*model is assigned here */
    return PartialView(model);
 }