2016-11-15 57 views
0

我使用AJAX请求调用控制器方法。 这个函数用于返回一个局部视图,所以我将它加载到一个HTML元素中。传递强类型模型时未呈现MVC PartialView

功能:

public PartialViewResult LoadLockTimerEnd() 
{ 
    Session["Info"] = new Request(); 
    RequestReply reqRep = new RequestReply("/Home/Index", "ID missing. Reseting"); 
    return PartialView("FailurePartialView", reqRep); 
} 

当通过一个简单的字符串作为模型,这个PartialView它工作正常,但不得传递RequestReply对象时,它不能正常工作模式和partialView完全不加载。

的PatialView:

@model EPS_WEB_SITE.Models.RequestReply; 
@{ 
    Layout = "~/Views/Shared/_FailureLayout.cshtml"; 
} 
<strong>@Html.Raw(@Model.Message.ToString())</strong> 
<div class="buttons-container button-container-small"> 
    <div data-request-url="@Model.RedirectURL.ToString()"> 
      <button type="button" id="dismiss-failure-btn" class="btn btn-danger dismiss">Dismiss</button> 
    </div> 
</div> 

的AJAX调用:

$.get('/Home/LoadLockTimerEnd', function (data) { 
    $("#resultDiv").html(data); 
}); 

为什么PartialView可与字符串作为模型,而不是类作为模型?

+0

你怎么称呼它使用Ajax ..你可以共享的方法? –

+0

编辑:添加ajax调用。我不认为AJAX调用是问题,因为代码正在进入控制器方法,但事后没有任何反应 –

+0

你试过答案吗? –

回答

0
$.ajax({ 
    dataType: "HTML", 
    url: '/Home/LoadLockTimerEnd', 
    success: function (data) { 
     $("#resultDiv").html(data); 
    } 
}); 

尝试使用这种方式

+0

这只是等同于OP代码('$获得()'是'$。阿贾克斯()'快捷方式) –

+0

我知道,我添加了这个因为数据类型是HTML,请他尝试一下(可能这是问题) –

+0

两个'$。阿贾克斯()'和'$获得()'将决定'dataType'如果它不提供。 –

0

行,所以我找到了问题打电话给你的行动: 这是一个编译错误。 我需要删除;在模型绑定视图中

@model EPS_WEB_SITE.Models.RequestReply; 

我能在Chrome浏览器的网络选项卡中找到。 双击有问题的请求,并显示服务器错误。

希望这将帮助别人

相关问题