我尝试使用.NET CORE中的ActionFilterAttribute来访问会话值。因此我使用以下代码:
一个普通的 .NET Core 控制器,它获取注释 [SessionCheck]。
[SessionCheck]
public class HomeController : Controller
{
}
Run Code Online (Sandbox Code Playgroud)
这些类由 ActionFilterAttribute 类扩展,并覆盖 OnActionExecuted 方法,我想在其中访问会话值。有可能吗?我只能访问密钥,但不能访问会话值。
public class SessionCheck:ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext context)
{
var session = context.HttpContext.Session;
//var mySessionValue = session["user"];
}
}
Run Code Online (Sandbox Code Playgroud)
我的主要问题是,我有一个会话值,它描述了我必须将请求路由到的位置。如果有特殊值,我想将我的请求路由到位置 A,否则路由到位置 B。
还有另一种可能性吗?
我有很多HBox,里面有一些不同的组件(RadioButton,Labels,Buttons ......).RadioButtons位于ToggleGroup中,因此只能选择1个单选按钮.
我想在单选按钮上添加一个OnChange - Event.如果未选择RadioButton,则应该有一个事件触发器.如何将事件添加到单选按钮?
目前我有这样的代码,但它没有我想要的功能.
radio.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent arg0) {
if(!radio.isSelected()){
ivTriangleImg.setRotate(iRotateCoord2);
btnTriangle.setGraphic(ivTriangleImg);
}
if(group!=null){
group.selectedToggleProperty().addListener(new ChangeListener<Toggle>() {
@Override
public void changed(
ObservableValue<? extends Toggle> arg0,
Toggle arg1, Toggle arg2) {
}
});
}
}
});
Run Code Online (Sandbox Code Playgroud)
我使用JavaFX 2.0和Java 1.7,所以我不能使用Lambda函数或JavaFx8/Java 1.8的特殊组件函数