使用JavaScript / jQuery重定向到ASP.NET MVC中的另一个页面 - c#

我想使用JavaScript / jQuery / Ajax从ASP.NET MVC 3.0中的一页重定向到另一页。在按钮单击事件中,我已经编写了如下的JavaScript代码。

function foo(id)
{
    $.post('/Branch/Details/' + id);
}

我的控制器代码是这样的:

public ViewResult Details(Guid id)
{
     Branch branch = db.Branches.Single(b => b.Id == id);
     return View(branch);
}

当我单击按钮时,它正在BranchController内调用Details动作,但不会返回到Details视图。

我没有任何错误或异常。在Firebug中显示状态200 OK。我的代码有什么问题,如何重定向到“详细信息”视图页面?

参考方案

您没有在$ .post AJAX调用中订阅任何成功回调。这意味着该请求已执行,但是您对结果不执行任何操作。如果您想对结果做一些有用的事情,请尝试:

$.post('/Branch/Details/' + id, function(result) {
    // Do something with the result like for example inject it into
    // some placeholder and update the DOM.
    // This obviously assumes that your controller action returns
    // a partial view otherwise you will break your markup
});

另一方面,如果要重定向,则绝对不需要AJAX。仅当您希望停留在同一页面上并仅更新其中一部分时,才使用AJAX。

因此,如果您只想重定向浏览器:

function foo(id) {
    window.location.href = '/Branch/Details/' + id;
}

附带说明:
您绝对不应像这样对网址进行硬编码。在ASP.NET MVC应用程序中处理URL时,应始终使用URL帮助器。所以:

function foo(id) {
    var url = '@Url.Action("Details", "Branch", new { id = "__id__" })';
    window.location.href = url.replace('__id__', id);
}

使用Javascript MVC4访问从数据库返回的对象 - c#

如何使用JavaScript访问从数据库返回的对象从Javascript调用此函数function searchUser() { var userName = document.getElementById('UserName').value $.post("SearchForUser", { userName: us…

从JAVA调用方法C#.NET - java

我有一个C#.NET项目中创建的dll,我想从Java程序中调用方法。我想知道是否存在实现此目标的机会,然后遇到了JNA和JNI。我应该使用哪一个?有什么建议么?我只需要在使用C#.NET编写的类中调用方法并处理Java程序的结果即可。 参考方案 这取决于您的应用程序,但是您可以将C#DLL放在服务中,例如WCF并以这种方式将功能公开给Java代码。使用ws…

从ASP.NET 1.1转换为ASP.Net 3.5后,单选按钮停止工作 - javascript

[我在下面以FYI的形式发布我们的问题和解决方案。如果您有Microsoft或代表机构对此问题的正式声明,我会将其标记为答案。否则,我下面的帖子将作为答案]。问题:我们采用了ASP.Net 1.1程序,并将其转换为ASP.Net 3.5。该页面最初正确显示,默认情况下选中一个单选按钮,并显示一个项目列表(“列表A”)。当我们单击另一个单选按钮时,它将正确显示…

ddl在服务器中未更新-asp.net - javascript

我在ASP.NET c#上工作。我有一个DropDownList。 (runat =“ server”)在$ {document).ready上,我更新了它的值:$(document).ready(function () { document.getElementById("ddl").value = "abc"; ……

在ASP.NET MVC中创建数据库回调的最有效方法 - c#

我有一个ASP.NET MVC网页,该网页基本上通过日期过滤器显示MS SQL数据库中表的行。当新行插入数据库表时,我想用新行列表更新网页视图。实现此目标的最有效方法是什么?基本上,我想从我的JavaScript创建一个到数据库服务器的回调,以用新结果更新UI。假设数据库表中的行数很大。(〜1百万)谢谢,cas 参考方案 如果数据库更新非常频繁,则可以按特定…