本地主机页面出现问题。本地主机将您重定向太多次。

11 浏览
0 Comments

本地主机页面出现问题。本地主机将您重定向太多次。

在调试我的MVC程序时,我遇到了一个问题,我想访问我的名为“UserActivity”的数据库。但在浏览器上,它显示“本地主机页面无法正常工作。本地主机重定向次数过多”,却没有显示具体的错误位置。

这是我的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 userActivity = null;
        using (IDbConnection db = new MySqlConnection(ConfigurationManager.ConnectionStrings["CRMPORTALSQLCONN"].ConnectionString))
        {
            userActivity = (List)db.Query(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);
    }
}

如果有人了解这个问题,真的很感激。谢谢。

admin 更改状态以发布 2023年5月21日
0
0 Comments

您遇到了一个回环情况。这类似于无尽的while循环。为了修复它,将您的代码重定向实现更改为重定向到一个动作方法。请注意,我已经在下面的实现中进行了更改。这将修复问题“localhost重定向您太多次”。您可以改进它以支持传递参数,以适合您的情况。如果您想将参数传递给操作方法,请还要查看具有额外参数支持的RedirectToAction,此链接将很有用。

    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();
        }
   }

0
0 Comments

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

如果 returnUrl 指向相同的操作 ("UserActivity/Index"),将会创建无限的重定向循环。如果你想要将请求重定向到另一个操作,请确保传递正确的名称。

0