本地主机页面不工作。 localhost 将您重定向了太多次
Posted
技术标签:
【中文标题】本地主机页面不工作。 localhost 将您重定向了太多次【英文标题】:The localhost page isn’t working. localhost redirected you too many times 【发布时间】:2016-03-17 08:43:43 【问题描述】:我在调试 MVC 程序时遇到问题,我想访问名为“UserActivity”的数据库。 在浏览器上,它说“本地主机页面不工作
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);
如果有人知道这个问题,真的很感激。谢谢
【问题讨论】:
遇到问题时returnUrl
的值是多少?
【参考方案1】:
if (userActivity != null)
return RedirectToAction(returnUrl);
如果 returnUrl 指向相同的操作(“UserActivity/Index”),它将创建无限重定向循环。如果您想将请求重定向到不同的操作,请确保您传递正确的名称。
【讨论】:
那么,我应该将精确的返回视图指向“UserActivity/Index”吗? 是的,您可以显式使用其他操作名称,例如:RedirectToAction("controller","action",new para, = value);【参考方案2】:你有一个环回的情况。这类似于无限的while循环。要修复它,请将您的代码重定向实现更改为重定向到操作方法。请注意我如何更改下面的实现。这将解决“本地主机重定向您太多次”的问题。您可以对其进行改进以支持传入适合您情况的参数等。还可以看看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();
【讨论】:
【参考方案3】:我不知道redirectUrl
的值是多少,但我想它是空的。我还假设您的userActivity
不是null
。所以return RedirectToAction(returnUrl);
被调用了。
当您调用 RedirectToAction(null)
时,您实际上会重定向到相同的操作,并且一切都会再次重复。
我还想知道,当您的 userActivity
是 null
时,您为什么需要 return View(userActivity);
。我想你有一个逻辑错误。
【讨论】:
以上是关于本地主机页面不工作。 localhost 将您重定向了太多次的主要内容,如果未能解决你的问题,请参考以下文章
RewriteCond REQUEST_URI - ^ 没有按预期工作