【发布时间】:2010-08-03 23:07:09
【问题描述】:
我有一个 ASP.NET MVC2 应用程序,它使用父控制器来设置应用程序周围使用的特定变量。我还实现了验证以确保 URI 中的 ID 存在于数据库中。如果没有,我会重定向并停止脚本的执行。
我的父控制器看起来像这样:
// Inside class declaration
// Set instance of account object to blank account
protected Account account = new Account();
protected override void Initialize(System.Web.Routing.RequestContext requestContext) {
// Call parent init method
base.init(requestContext);
// Check to make sure account id exists
if (accountRepos.DoesExistById(requestContext.RouteData.Values["aid"].ToString()) {
account = accountRepos.GetById(requestContext.RouteData.Values["aid"].ToString());
} else {
requestContext.HttpContext.Response.Redirect("url");
requestContext.HttpContext.Response.End();
}
}
起初这是可行的,但现在当输入错误的 id 时,它不会重定向并在使用 Account 类时抛出 NullPointerException。我最初只是声明了帐户变量而不是实例化它,但这也证明会引发异常并且没有重定向。
我尝试结束脚本执行的原因是因为我想确保即使重定向不起作用,它也会停止。有点像在 PHP 中的 header() 之后调用 exit() :p 。如果我做错了,我将不胜感激。
我只是想知道如何解决这个问题。
非常感谢任何帮助 =D
【问题讨论】:
标签: c# asp.net-mvc-2