为了账号安全,请及时绑定邮箱和手机立即绑定

MVC ajax 返回部分布局而不是部分

MVC ajax 返回部分布局而不是部分

C#
桃花长相依 2021-07-01 14:07:39
我有一个带有 Home 控制器和 Weather 控制器的 MVC 网站。家庭控制器加载起始页(索引)并提供许多选择,所有这些选择都通过 ajax.load 加载内容:<li onclick="LoadContent('/Weather/Weather');">...</li>LoadContent 执行以下操作:function LoadContent(url){    try {        $("#divMainContent").load(url, function () {            //do visual graphic stuff here            ...        });    } ...}Weather/Weather 控制器/视图调用后端的天气 api 并像这样传递模型:public ActionResult Weather()    {        //api stuff        ...        return View(weatherObj);        //return View("_webcams", weatherObj);    }当我单击列表项加载我想要的部分时,它会加载 Weather/Weather.cshtml 视图。它包括以下内容:<div id="tabs">    <ul>        <li>...</li>        <li><a href="#tabs-6">Webcams</a></li>    </ul>    ...    <div id="tabs-6">        @Html.Partial("~/Views/Weather/_webcams.cshtml")    </div></div>这是一个 jquery ui 选项卡布局。工作良好。_webcams.cshtml 部分包含一个引导轮播。查看 ajax 响应后,HTML 部分调用返回完整布局(再次包括引导程序,从而破坏了轮播)。为了验证这一点,我尝试将 Weather/Weather 控制器/动作点直接指向部分(如上面的注释),并且当我直接转到 Weather/Weather 时,轮播会起作用(从而验证我的部分是否包括周围的 _layout .cshtml 代码。我在这里尝试了解决方案,但要么是我做错了(告诉部分不使用布局),要么 $().load() 函数的行为与普通的 ajax 调用不同。有人可以解释一下发生了什么吗?
查看完整描述

1 回答

?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

$().load()和之间有明显的区别$.ajax

我不知道引擎盖下的区别是什么,但将我的更改$().load$.ajax电话解决了这个问题。


查看完整回答
反对 回复 2021-07-03
  • 1 回答
  • 0 关注
  • 126 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信