web-dev-qa-db-ja.com

localhostページが機能していません。 localhostが何度もリダイレクトしました

MVCプログラムのデバッグ中に問題が発生し、「UserActivity」というデータベースにアクセスしたいのですが。ブラウザでは、「localhostページが機能していません

localhostが何度もリダイレクトしました。」

ただし、特定のエラーの場所は表示されません。

ここに私のUserActivtyController、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);
    }
}

この問題について何か知っている人がいれば本当に感謝します。ありがとう

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

ReturnUrlが同じアクション(「UserActivity/Index」)を指す場合、無限リダイレクトループが作成されます。リクエストを別のアクションにリダイレクトする場合は、正しい名前を渡すようにしてください。

5
Lesmian

ループバック状況があります。これは、無限の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();
        }
   }
1
Julius Depulla

redirectUrlの値はわかりませんが、nullであると考えられます。また、あなたのuserActivitynullではないと思います。したがって、return RedirectToAction(returnUrl);が呼び出されます。

RedirectToAction(null)を呼び出すと、実際には同じアクションにリダイレクトされ、すべてが再び繰り返されます。

また、あなたのuserActivitynullであるときにreturn View(userActivity);が必要なのはなぜだろうと思っています。論理エラーがあると思います。

0
Ivan Gritsenko