首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVC ajax正在返回带布局的部分,而不是部分

MVC ajax正在返回带布局的部分,而不是部分
EN

Stack Overflow用户
提问于 2018-05-25 02:18:00
回答 1查看 117关注 0票数 0

我有一个MVC网站的家庭控制器和天气控制器。主控制器加载起始页(索引)并显示许多选择,所有选项都通过ajax.load加载内容:

<li onclick="LoadContent('/Weather/Weather');">...</li>

LoadContent做了以下工作:

代码语言:javascript
复制
function LoadContent(url){
    try {
        $("#divMainContent").load(url, function () {
            //do visual graphic stuff here
            ...
        });
    } ...
}

天气/天气控制器/视图在后端调用天气api,并按如下方式传递模型:

代码语言:javascript
复制
public ActionResult Weather()
    {
        //api stuff
        ...
        return View(weatherObj);
        //return View("_webcams", weatherObj);
    }

当我单击列表项来加载我想要的部分时,它会加载天气/Weather.cshtml视图。它包括以下内容:

代码语言:javascript
复制
<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选项卡布局。效果很好。_webcams.cshtml部分包含一个引导旋转木马。

在查看了ajax响应之后,HTML部分调用将返回完整的布局(这再次包括引导,从而破坏了旋转木马)。为了验证这一点,我尝试让天气/天气控制器/动作点直接指向部分(作为上面的注释),而当我直接转到天气/天气(从而验证我的部分包括周围的_layout.cshtml代码)时,旋转木马工作。

我尝试过the solutions here,但是要么我做错了(告诉分部不要使用布局),要么$().load()函数的行为与正常的ajax调用不同。

有人能说明一下发生了什么事吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-05-25 03:03:45

$().load()$.ajax有着明显的差异。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50520570

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档