gpt4 book ai didi

c# - PartialView 方法返回 Null(似乎根本没有调用 View )

转载 作者:太空宇宙 更新时间:2023-11-03 13:30:37 27 4
gpt4 key购买 nike

我有一些代码似乎无法正常工作。我确定我缺少某些东西,但我已经用我的脑袋来反对它太久了,而且一无所获。

这是 AJAX 调用:

$.ajax({
type: 'POST',
url: '@Url.Action("GetPartial", "MyPage")',
async: true,
data: {
MyID: 'ABC123'
},
error: function (jqXHR, textStatus, errorThrown) {
alert('Error loading partial for ' + MyId + '\n\n' + jqXHR + '-' + textStatus + '-' + errorThrown);
}
}).done(function (result) {
$(data).html(result);
});

这是 MyPageController.cs 中的操作:

[HttpPost]
public PartialViewResult GetPartial(string MyID)
{
return PartialView("ThePartial");
}

在我的 View 目录中,我有一个 MyPage 子目录,其中包含 ThePartial.cshtml。

我已经在该 cshtml 中放置了断点,它似乎从未被调用过。

此外,我通过稍微更改我的操作代码来验证 PartialView 是否为空:

[HttpPost]
public PartialViewResult GetPartial(string MyID)
{
PartialViewResult pView = PartialView("ThePartial");
return pView;
}

然后在“return”行打断点,查看pView的内容。

以下是部分 View 的缩略版。

@model MyProject.Models.MyModel // There is a breakpoint here
@{
var x = "testing"; // There is a breakpoint here
x += " 123"; // There is a breakpoint here
}
<div>@x</div>

我实际上在第一行、第三行和第四行设置了断点,这些断点从未被击中。

我意识到部分是指未包含在操作中的数据模型,但在实际版本中使用了该模型。我将其从这篇文章中删除以保持简短,认为模型不是问题所在。这是实际的 PartialView 调用:

MyData myData = MyModel.GetData(MyID);
PartialViewResult pView = PartialView("ThePartial", myData);

我对此完全迷失了,非常感谢任何帮助。

最佳答案

看起来在分部 View 中存在某种语法错误,并且除了不返回 View 之外没有以任何方式报告错误。

为了得出这个结论,我做了以下工作:

我创建了一个简单的局部 View ,包括:

<div>THIS IS A TEST</div>

然后我让我的 Action 返回这个 View ,它成功地返回了。

然后我将代码块从旧的(完整的)部分 View 复制到新的部分 View ,并且在某一时刻它停止返回任何内容。我现在正在检查代码以缩小错误的范围。

我不得不说,我对没有以任何方式报告错误感到非常不高兴。

感谢所有在这里贡献自己想法的人。

关于c# - PartialView 方法返回 Null(似乎根本没有调用 View ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20690855/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com