【发布时间】:2020-05-11 02:38:45
【问题描述】:
我有一个 Ajax 调用,在成功函数中我有一个 $.each 循环。当我尝试使用 dtl 时,它显示“名称 dtl 在当前上下文中不存在”
代码
$.ajax({
url: $("#getAllNewsBasicDetails").val(),
cache: false,
type: "POST",
success: function (_newsDetails) {
$.each(newstype, function (i, dtl) {
content = '';
content += '<a href="#" class="text-black">' + dtl.NewsTitle + '</a>';
content += '<a class="btn btn-sm btn-primary" href="@Url.Action("NewsDetails", "News",new{@NewsId=dtl.NewsId })">'; // In here it shows 'The Name dtl doesn't exist in the current context'
content += '</div>';
$("#searchItems").prepend(content);
});
}
【问题讨论】:
-
success function在客户端运行,但Url.Action- 在服务器上运行。 -
@yW0K5o 是的,但在这里我无法分配 dtl.NewsId... 有没有办法使用它?
-
使用
content += '<a class="btn btn-sm btn-primary" href="/News/NewsDetails?NewsId=" + dtl.NewsId.toString() + ">";检查我的语法。 -
我创建了一个 MVC 项目并得到与您相同的错误(当前上下文中不存在名称 dtl)。当我使用
content += '<a class="btn btn-sm btn-primary" href="/News/NewsDetails?NewsId="' + dtl.NewsId.toString() + '">';时,错误消失了,这又是客户端/服务器功能的混合。 dtl 来自客户端(html/javascript),Url.Action 来自服务器(MVC)。
标签: c# jquery json asp.net-mvc