【发布时间】:2017-05-13 12:18:27
【问题描述】:
我有名为 StoredProcedureController 的控制器,并且我有方法 CheckStoredProceduresInPerPageFromCookie:
public class StoredProcedureController : Controller
{
private int StoredProceduresInPerPage = 20;
public StoredProcedureController()
{
CheckStoredProceduresInPerPageFromCookie();
}
public void CheckStoredProceduresInPerPageFromCookie()
{
try
{
if (Request.Cookies!= null)//this throws NullReferenceException
StoredProceduresInPerPage = int.Parse(Request.Cookies["stProcsInPerPage"].Value);
}
catch (NullReferenceException)
{
try
{
HttpCookie stPages = new HttpCookie("stProcsInPerPage");
stPages.Value = StoredProceduresInPerPage.ToString();
stPages.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(stPages);//this throws nullreference exception
}
catch (Exception exc)
{
TempData["ErrorMessage"] = exc.GetBaseException().Message;
}
}
}
[RoleAuthorization("Admin_And_User")]
[HttpGet]
public ActionResult ListOfStoredProcedures(int page, string SearchedStoredProcedure = "", string SearchedDB = "")
{
if (Request.Cookies != null)
//I am getting here so there cookie isn't null
....
}
.....
}
我的问题是为什么CheckStoredProceduresInPerPageFromCookie Request.Cookies 为空,而ListOfStoredProcedures 不为空。
P.S 抱歉,如果我的格式和问题不完美(这是我在 stackoverflow 上的第一个问题)
【问题讨论】:
-
你怎么称呼这些方法?您能否提供有关此的更多信息,或者将两个 HTTP 请求添加到问题中。
-
CheckStoredProceduresInPerPageFromCookie 方法我在访问当前 URL 时从构造函数和 ListOfStoredProcedures 调用
-
我将编辑我的问题
-
所以从哪里调用 CheckStoredProceduresInPerPageFromCookie 方法很重要?
-
问题是,
Request对象还没有在控制器的构造函数中初始化。你需要有一个web方法来访问Cookies的请求。
标签: c# .net asp.net-mvc model-view-controller