asp.net-mvc - Ajax 重定向与 ActionLink 的工作方式不同

标签 asp.net-mvc model-view-controller jquery

我有一个 javascript 函数,可以按我想要的方式工作:

<script language="javascript" type="text/javascript">
    function dofunction(dropdown) {
        debugger;
        for (i = 0; i < 194; i++) {
            if (dropdown[i].selected == true) {
                var Shrt_ttls = dropdown[i].value.toString();
                $.ajax({
                    url: "/ProgramSummary/Details?titl=" + Shrt_ttls//,
                    //type: 'Post'
                });
                i = 195;
            }
        }
        return;
    }
</script>

代码重定向到 ProgramsummaryController 的 Details 方法(在调试中一切正常,正确的值传递给该方法,Details 方法如下所示

    public ActionResult Details(string titl)
    {
        using (var dc = new USP_Select_TRP_ProgramSummary_wShortNameDataContext())
        {
            string shrt_titles = titl;
            if (shrt_titles == null)
            {
                shrt_titles = "3DELRR";
            }
            return View(dc.usp_Select_TRP_ProgramSummary_wShortName(shrt_titles).Single());
        }
    }

View 被调用,似乎很好,并返回到 _Layout.cshtml 一切看起来都很好,但没有显示详细信息 View ,而是显示原始索引 View 。好像我使用

@Html.ActionLink("Resource(s)", "Details", "ProgramSummary", new { titl = "3DELRR"})

发生与之前相同的事件,并且显示详细信息 View ,而不是保留索引 View 。为什么第一种方法不行?

最佳答案

您应该使用:

location.href = "/ProgramSummary/Details?titl=" + Shrt_ttls;

ajax 与 Ajax 不同,它只是 JavaScript 中的请求,除非您对其进行编码,否则浏览器不会显示它。

关于asp.net-mvc - Ajax 重定向与 ActionLink 的工作方式不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7999422/

相关文章:

asp.net-mvc - ASP.NET MVC 3 : Validation get message list

asp.net-mvc - 如何在 MVC5 中为用户分配角色?

ruby-on-rails - Controller 和 Restful 应用程序

javascript - 一种提高清理 DOM 元素内容速度的方法

javascript - 检测价格是否高于或低于 200.00,然后设置(此)表格行的样式

javascript - JQuery 使用 JSP 自动完成

javascript - AngularJS 的 404 图片加载问题

c# - 如何使用 View 变量从 View 中编码模型方法?

php - 我应该在哪里放置登录功能的应用程序逻辑?

model-view-controller - MessageConverter 中带有 @Transactional 注释的 LazyInitializationException