从Initialize()取消控制器操作

时间:2010-09-07 11:35:47

标签: model-view-controller castle-monorail

我遇到过一个场景,我的conrtoller上有一些初始化代码,可能会识别一个无效的状态,这会要求用户进行一些交互。

在那里,我想将客户重定向到另一个页面/操作,如果发生这种情况。因为如果我点击这个无效状态,我不想运行初始操作,我想取消整个请求,包括操作。

这可能吗?我们已经发现解决它的一种方法是使用一个Filter,它从Context.Items中读出它是否应该取消动作,但还有另一种更简单的方法吗?

1 个答案:

答案 0 :(得分:2)

我开始阅读此内容并立即想到“上下文和过滤器”: - )

我认为这是最干净的方法......也就是说,你也可以这样做

Context.UnderlyingContext.Response.Redirect("someotherurl");

哪个internally throws a ThreadAbortException所以它会跳过所有其他代码。