我有在WPF编码的控制,可以有三个子元素之一 - 两个SimpleChildElements和一个ComplexChildElement,让我们说 - 并根据模型中的一些幕后的逻辑,让我做他们的显示器之间的互换.
<ItemsControl
ItemsSource="{Binding ChildPanels.Values}"
Name="ContentControl1"
>
<ItemsControl.ItemTemplate>
<DataTemplate>
<ContentControl Content="{Binding}"
Visibility="{Binding Path=Active, Converter={StaticResource BooleanToVisibilityConverter}}"/>
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
Run Code Online (Sandbox Code Playgroud)
子元素是他们自己的ViewModel,我已经在上游声明了一些资源,因此有针对它们的DataTemplates.如果它有所帮助,我可以详细说明,但问题的关键因素是:
当我通过滚动在主控制元件和ComplexChildElement弹出的第一次,有一个短暂的,隐约可见闪烁,因为它得到的装饰 - 这是一堆的组合框饰的DevExpress.这种设置意味着有当我滚出一个记录与ComplexChildElement,然后再返回无闪烁,如果我开始与ComplexChildElement有主控显示,没有闪烁,当它再次弹出.
但主控制键到另一个数据源,我不能保证会出现在第一个记录,这是在一个更大的显示屏框架初始化加载ComplexChildElement我真的不想在此刻根左右.
那么我怎样才能保证在表单加载时会呈现ComplexChildElement,并可能在之后立即隐藏它?我已经尝试在这个后面的函数内部打开和关闭ChildPanels.Active:
<dxmvvm:Interaction.Triggers>
<dxmvvm:EventToCommand EventName="Loaded" Command="{Binding OnViewLoadedCommand}" />
</dxmvvm:Interaction.Triggers>
Run Code Online (Sandbox Code Playgroud)
但这并没有让他们渲染.
顺便说一下这个功能:
foreach (var childModel in ChildPanels.Values)
{
childModel.Active = true;
RaisePropertyChanged(() => childModel.Active);
}
ChangeChildModel();
Run Code Online (Sandbox Code Playgroud)
最后一个函数调用是一个被调用的函数调用,用于在记录更改时更改子模型的可见性.如果我不进行最后一次调用,则所有子视图模型都会显示为可见.
我有一台开发机器,我以前安装过Tomcat,只是作为开发工作的同一个用户运行它.我删除了一个符号链接$CATALINA_HOME/webapps
到我构建WAR的目录,每次我更新构建tomcat后跟着符号链接并提取新的WAR.没有任何问题.
但是为了准备将其移动到生产机器,我创建了一个具有受限权限的新用户,并将tomcat设置为以该用户身份运行,就像出于安全原因一样.
现在tomcat不再遵循符号链接了,即使我给它的用户拥有WAR文件并将权限设置为777.我也没有看到任何内容catalina.out
或日常记录中发生的事情.
这只是将测试周期复制到WAR的一个步骤,所以这不是太关键,但我仍然对于发生了什么感到好奇.
webapps目录的权限:
drwxr-xr-x 3 tomcat tomcat 4096 Dec 11 14:34 webapps
Run Code Online (Sandbox Code Playgroud)
我正在构建的目录的权限:
drwxrwxr-x 11 tomcat tomcat 4096 Dec 11 14:34 target
Run Code Online (Sandbox Code Playgroud)
WAR文件maven的权限产生:
-rw-rw-r-- 1 tomcat tomcat 16822856 Dec 11 14:34 [webapp].war
Run Code Online (Sandbox Code Playgroud)
我创建的符号链接的权限:
lrwxrwxrwx 1 tomcat tomcat 60 Dec 11 17:33 [webapp].war -> [webapp directory]/[webapp].war
Run Code Online (Sandbox Code Playgroud) 如何在 SignalR 连接设置期间获取其他功能正常的 Web 应用程序中发生的异常的完整堆栈?
我是维护带有 C# 客户端的 Web 应用程序的团队的一员,该应用程序使用极其基本的 SignalR 设置(版本 2.2)在长时间运行的服务器进程期间有效地提供有关进度的推送通知。就像,开箱即用,
app.MapSignalR();
Run Code Online (Sandbox Code Playgroud)
HubConnection connection = new HubConnection(_applicationConfiguration.ApiBaseUri + "/signalr");
await connection.Start();
Run Code Online (Sandbox Code Playgroud)
基本的。我们的一些客户端在远程服务上运行,并定期遇到一个问题,即 Web 应用程序的其他功能工作正常,但调用的客户端代码connection.Start()
返回 500 内部服务器错误,没有进一步的信息。他们可以通过刷新远程连接来解决它,但这不太理想,所以我试图获取一些有关连接设置过程中发生此错误的位置的信息。
按照有关在 MSDN 上为 SignalR 设置错误处理的信息,我尝试通过将以下管道模块插入到以下管道模块中来模拟问题GlobalHost.HubPipeline
:
public class HubErrorHandlingModule : HubPipelineModule
{
public override Func<IHub, Task> BuildConnect(Func<IHub, Task> connect)
{
throw new InvalidOperationException("Testing Connection Exceptions");
}
protected override void OnIncomingError(ExceptionContext exceptionContext,
IHubIncomingInvokerContext invokerContext)
{
// some logging happens here
base.OnIncomingError(exceptionContext, invokerContext);
}
}
Run Code Online (Sandbox Code Playgroud)
它有点工作,因为我可以看到在管道代码中抛出异常,并且我的测试 C# 客户端也看到 …
我正在使用POST表单提交而不是Web应用程序中带有连接参数的链接,因此我可以控制输入.
不幸的是,这意味着用户无法使用他们所知的快捷方式在新窗口中打开链接,例如按住控件或单击鼠标中键.
基于W3C DOM鼠标事件规范,我有一个似乎是一种可行的方法来使用jQuery来捕获鼠标输入和各种和弦键:
$("span#clickspan").click( function(event) {
buttonpress = event.button;
ctrlpress = event.ctrlKey;
$("#clickresult").empty();
$("#clickresult").append("<p>Click!</p>");
$("#clickresult").append("<p>Button # " + buttonpress + " pressed!</p>");
if (ctrlpress) {
$("#clickresult").append("<p>Control-click!</p>");
}
//form submission code would go here
event.preventDefault();
}
);
Run Code Online (Sandbox Code Playgroud)
我可以通过这种方式捕获控件 - 点击(在Firefox 3和IE7中测试),并且它正确地(?)报告左键单击来自鼠标按钮#0,但由于某种原因,此代码仍未捕获中间点击跨度,右键单击仍会弹出上下文菜单.我想至少捕获中间点击次数.
有人可以帮忙吗?
带有连接参数的GET提交/链接的问题是任何人都可以编辑地址栏并键入任何内容.我已经担心服务器端的身份验证和验证.这不是我想使用POST的原因.
我应该只向用户显示有意义的信息.内部数据库ID不是.我应该只是让用户以有意义的方式与应用程序交互.任意编辑地址栏不是其中之一.
人们总是打错字.但是,从系统的角度来看,地址栏中的拼写错误与应用程序逻辑中的缺陷之间没有区别,我宁愿不去决定哪一个刚刚发生在用户身上.
对符合UTF-8的数据库使用PHP.这是输入的输入方式.
它以通常的方式出现,我在页面加载时运行unescape().这是为了让人们直接从word文档中复制和粘贴,并显示智能引号.
但HTMLPurifier似乎正在破坏非UTF-8特殊字符,那些逃逸()到一个简单的%表达式,比如Ö,它逃脱到%D6,而smartquotes逃到%u2024或其他东西,然后以这种方式进入数据库.它取出了特殊字符和紧随其后的字符.
我需要在这个过程中改变一些东西.也许我需要改变多件事.
我怎么办才能得不到特殊字符?
我有一个记录管理Web应用程序,它在一个屏幕上显示一个主记录,AJAXes动态构建编辑器到一个编辑器div,我用JQuery来制作可拖动的.这样可行.
即使div不是一个窗口,我认为让它更像一个窗口可能是一个好主意,所以我用"关闭"按钮进行编码.结构如下所示:
<div id="editor">
<div id="draghandle" />
<div id="closebutton" />
<div id="editorbody" />
</div>
Run Code Online (Sandbox Code Playgroud)
Editorbody是可变维度的,取决于人们想要进入的内容.
Draghandle的宽度设置为编辑器的100%.Closebutton在CSS中设置为float:right
.
我的问题是,在IE6和IE7中,关闭按钮浮动得太远了.它总是在窗口的右边缘,无论我在哪里拖动编辑器div.在Firefox和Safari中,它看起来像我预期的那样 - 窗口和编辑器一样宽,而按钮位于右上角.
我并不特别喜欢浮动:对,只是想找到一种方法来设置CSS,它会在所有浏览器中给出相同的结果.有任何想法吗?
这是我想在jsbin上做的一个模型(谢谢,redsquare)
我正在使用法律敏感信息,因此我无法提供该应用的屏幕截图.但是,我拍摄了一些照片并屏蔽了文本和界面,只留下了窗口结构.
css jquery css-float internet-explorer-7 internet-explorer-6