Asp.net 本地主机页不工作。localhost重定向您的次数太多

Asp.net 本地主机页不工作。localhost重定向您的次数太多,asp.net,asp.net-mvc-4,c#-4.0,Asp.net,Asp.net Mvc 4,C# 4.0,调试MVC程序时遇到问题,我想访问名为UserActivity的数据库。 在浏览器上,显示localhost页不工作 localhost重定向您的次数太多 但是没有显示具体的错误位置 这是我的useractivitycontroller,GET/UserActivity/Index代码: public class UserActivityController : BaseController { //GET /UserActivity/Index public ActionRes

调试MVC程序时遇到问题,我想访问名为UserActivity的数据库。 在浏览器上,显示localhost页不工作

localhost重定向您的次数太多

但是没有显示具体的错误位置

这是我的useractivitycontroller,GET/UserActivity/Index代码:

public class UserActivityController : BaseController
{
    //GET /UserActivity/Index
    public ActionResult Index(string returnUrl, int page = 1, string sort = "Id", string sortDir = "ASC", string filter = null)
    {
        String query = @"
            SELECT Id
            ,CreatedBy
            ,CreatedOn
            ,ModifiedBy
            ,ModifiedOn
            ,ContactId
            ,EntityName
            ,EntityId
            ,ActivityType
            ,ActivityStatus
            ,DueDate
            ,ActualEndDate
            ,MasqueradeOn
            ,MasqueradeBy 
        FROM UserActivity 
        -- ORDER BY CreatedOn DESC
        -- OFFSET (@PageNumber -1) * 30 ROWS
        -- FETCH NEXT 30 ROWS ONLY
            ";

        //string countQuery = @""

        List<UserActivityModels> userActivity = null;

        using (IDbConnection db = new MySqlConnection(ConfigurationManager.ConnectionStrings["CRMPORTALSQLCONN"].ConnectionString))
        {
            userActivity = (List<UserActivityModels>)db.Query<UserActivityModels>(query, new
            {
                @PageNumber = page,

            });

            /*ViewData["TotalCount"] = (int)db.ExecuteScalar(countQuery, new
            {
                @PageNumber = page,
                @Id = string.IsNullOrEmpty(filter) ? null : filter
            });
            */

            ViewData["PageSize"] = 30;
            ViewData["Filter"] = filter;
        }

        if (userActivity != null)
        {
            return RedirectToAction(returnUrl);
        }

        return View(userActivity);
    }
}
如果有人知道这个问题,我真的很感激。谢谢

if (userActivity != null)
{
    return RedirectToAction(returnUrl);
}

如果returnUrl指向同一个action UserActivity/Index,它将创建无限重定向循环。如果您想将请求重定向到不同的操作,请确保您传递了正确的名称。

我不知道redirectUrl的值是多少,但我假设它为空。我还假设您的userActivity不是null。所以返回重定向到ActionReturnURL;有人打电话来

当您调用RedirectToActionnull时,实际上是重定向到同一个操作,并且所有操作都会再次重复


我还想知道为什么需要返回ViewuserActivity;当您的userActivity为null时。我想您有一个逻辑错误。

您有一个回环情况。这类似于无尽的while循环。若要修复此问题,请将代码重定向实现更改为重定向到操作方法。请注意我是如何更改下面的实现的。这将解决localhost重定向您太多次的问题。您可以对其进行改进,以支持传入适合您的情况的参数等。另外,还可以查看对其他参数的支持,如果希望将参数传递给action方法,此链接将非常有用

    public class UserActivityController : BaseController
    {
        //GET /UserActivity/Index
        public ActionResult Index(int page = 1, string sort = "Id", string sortDir = "ASC", string filter = null)
        {
            // Your other implementation here. I have removed it for brevity.

            if (userActivity != null)
            {
                return RedirectToAction("Index");
            }

            return View(userActivity);
        }

        public ActionResult Index()
        {

          return View();
        }
   }

遇到问题时,returnUrl的值是多少?那么,我是否应该将精确的返回视图定向到UserActivity/Index中?是的,您可以显式使用另一个操作名称,如:RedirectToActioncontroller,action,new{para,=value};