调试我的MVC程序时遇到问题,我想访问名为" UserActivity"的数据库。 在浏览器上,它说"本地主页不起作用
localhost重定向了你太多次了。"
但没有显示具体的错误位置。
这是我的UserActivtyController,GET / UserActivity / Index code:
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);
}
}
真的很感激是否有人知道这个问题。感谢
答案 0 :(得分:4)
if (userActivity != null)
{
return RedirectToAction(returnUrl);
}
如果returnUrl指向相同的操作(“UserActivity / Index”),它将创建无限重定向循环。如果要将请求重定向到不同的操作,请确保传递正确的名称。
答案 1 :(得分:1)
你有回环的情况。这类似于无尽的while循环。要修复它,请更改代码重定向实现以重定向到操作方法。请注意我如何更改下面的实现。这将解决问题&#34; localhost重定向你太多次&#34;。您可以对其进行改进,以支持适合您情况的传递参数等。另请查看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();
}
}
答案 2 :(得分:0)
我不知道redirectUrl
的价值是什么,但我认为它是空的。我还假设您的userActivity
不是null
。所以return RedirectToAction(returnUrl);
被调用。
当您致电RedirectToAction(null)
时,您实际上会重定向到相同的操作,一切都会重复。
我也想知道为什么在return View(userActivity);
为userActivity
时你需要null
。我想你有一个逻辑错误。