我在Windows Phone 8上使用LongListSelector控件,无法找出处理项目点击的最佳方法.我发现的几个例子都依赖于SelectionChanged事件.但是,此解决方案有问题,因为如果我点击打开新页面的项目,回击,然后再次点击相同的项目,它将无法工作,因为此项目已被选中,因此不会触发SelectionChanged.
我尝试注册到点击事件并使用当前所选项目作为点击事件,但有时候当前所选项目不是我期望的项目.
我可以将我的ItemTemplate包装在一个按钮中并处理每个项目的点击,但我需要重新设置按钮以使其看起来像一个简单的列表项.
最后,我不明白为什么实现这样一个基本的东西是如此复杂.我错过了一种简单而标准的方式吗?
我的第二个愿望是在点击项目时对项目产生影响.有没有标准的方法呢?
我有一个使用Basic Auth保护的WebApi,它使用AuthorizationFilterAttribute应用于整个Api.我还在我的几个Api控制器上安装了SignalR Hub.
除此之外,我还有一个使用WebApi的网页.该网页主要是用Backbone编写的,所以为了调用我的安全WebApi,我添加了以下jquery
$.ajaxSetup({
beforeSend: function (jqXHR, settings) {
jqXHR.setRequestHeader('Authorization', 'Basic ' + Token);
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
这适用于与我的Api控制器通信,但添加上述代码已断开与SignalR Hub的连接,具体为:
XMLHttpRequest cannot load http://localhost:50000/signalr/negotiate?_=1366795855194.
Request header field Authorization is not allowed by Access-Control-Allow-Headers.
Run Code Online (Sandbox Code Playgroud)
删除jqXHR.setRequestHeader()线路将恢复我的SignalR Hub连接,但会中断Api呼叫.
鉴于上述情况,我可以做一些hacky并且只设置请求标头,如果发出的请求不是/ signalr但是感觉很脏......
这有更干净的方法吗?
我只是做些傻事吗?有没有其他人参加过此活动?
ajax authorization basic-authentication signalr asp.net-web-api