【问题标题】:MVC PartialView not rendered when passing strongly typed model传递强类型模型时未呈现 MVC PartialView
【发布时间】:2017-03-29 09:45:17
【问题描述】:

我正在使用 AJAX 请求调用控制器方法。 该函数用于返回部分视图,因此我将在 HTML 元素中加载它。

功能:

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 使用字符串作为模型而不是类作为模型?

【问题讨论】:

  • 你怎么用Ajax调用它..你能分享一下方法吗?
  • 编辑:添加了 ajax 调用。我认为 AJAX 调用不是问题,因为代码正在进入控制器方法,但之后没有任何反应
  • 你试过答案了吗?
  • 您在浏览器控制台中收到了哪些错误消息?
  • 并显示模型并确认MessageRedirectURL 的值都不是null(尽管无论如何您都可以删除那些毫无意义的.ToString()

标签: asp.net-mvc-4 model partial-views


【解决方案1】:
$.ajax({
    dataType: "HTML",
    url: '/Home/LoadLockTimerEnd',
    success: function (data) {
        $("#resultDiv").html(data);
    }
});

尝试使用这种方式调用你的 Action

【讨论】:

  • 这与 OP 的代码完全相同! ($.get()$.ajax() 的快捷方式)
  • 我知道,我添加这个是因为 dataType 是 HTML 并让他尝试一下(可能是这个问题)
  • $.ajax()$.get() 都将确定 dataType(如果未提供)。
  • 我不知道,你确定吗?我面临返回数据的问题并解决它是确定类型为 JSON、HTML .. 等
  • 是的,我确定。但是由于 OP 声称它在其他情况下也有效,因此问题在于模型。
【解决方案2】:

好的,所以我发现了问题: 这是一个编译错误。 我需要删除;在视图中的模型绑定中

@model EPS_WEB_SITE.Models.RequestReply;

我可以在 Chrome 浏览器的网络标签中找到它。 双击有问题的请求,它显示服务器错误。

希望对大家有所帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-04-10
    • 1970-01-01
    • 1970-01-01
    • 2012-09-30
    • 1970-01-01
    • 2017-10-31
    • 2013-07-28
    相关资源
    最近更新 更多