所以,我正在尝试使用以下方法重定向到我自己的AuthorizeAttribute中的错误页面:
filterContext.Result = new HttpStatusCodeResult(403);
Run Code Online (Sandbox Code Playgroud)
在我的web.config中,我最初尝试过:
<customErrors defaultRedirect="/Error" mode="On">
<error statusCode="403" redirect="/UnAuthorize" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
我试过后:
<customErrors defaultRedirect="/Shared/Error" mode="On">
<error statusCode="403" redirect="/Shared/UnAuthorize" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
然后,我创建一个ErrorController,我试过:
<customErrors defaultRedirect="/Shared/Error" mode="On">
<error statusCode="403" redirect="/Error/UnAuthorize" />
</customErrors>
Run Code Online (Sandbox Code Playgroud)
但是浏览器仍然显示403的默认错误页面,任何想法?
可能的解决方案:嗯,我看到了@bobek和@Robert Levy的答案,但我找到了另一种方式,更简单一些.
在我的AuthorizeAttribute中,我创建了一个名为RedirectOnErrorTo的属性,在我的AuthorizeAttribute的OnAuthorization方法中,我做了:
if (!string.IsNullOrEmpty(this.RedirectOnErrorTo))
{
filterContext.Result = new RedirectResult(this.RedirectOnErrorTo);
}
Run Code Online (Sandbox Code Playgroud)
所以,现在当我声明这个属性时,我选择了我想要重定向的路径.
它不像我想要只使用web.config那样自动化,但变得有用.你怎么看待家伙,这是解决这个问题的好方法?
我想把WPF WebBrowser放一些UIElement(opacity = 0)ie并通过这个覆盖所有点击事件UIElement.
有可能吗?
这段代码不起作用......
<Canvas Name="cnsMain">
<WebBrowser x:Name="MainBrowser" Visibility="Visible" Panel.ZIndex="0" />
<Canvas Panel.ZIndex="100" Opacity="0.01"></Canvas>
</Canvas>
Run Code Online (Sandbox Code Playgroud)
谢谢!
我对如何计算ActualWidth或ActualHeight工作或如何计算感到困惑.
<Ellipse Height="30" Width="30" Name="rightHand" Visibility="Collapsed">
<Ellipse.Fill>
<ImageBrush ImageSource="Images/Hand.png" />
</Ellipse.Fill>
</Ellipse>
Run Code Online (Sandbox Code Playgroud)
当我使用上面的代码时,我得到30 ActualWidth和ActualHeight.但是当我以编程方式定义一个椭圆时,即使我定义了(最大)高度和(最大)宽度属性,ActualWidth并且ActualHeight为0,我不明白它是如何为0的?
我试图让java在一次点击后执行一个操作,然后在再次按下相同的按钮时执行另一个操作,无论点击之间有多长时间.这可能吗?这是我到目前为止所尝试的:
button.addMouseListener(new MouseAdapter() {
public void mouseClicked(MouseEvent e) {
if (e.getClickCount()%2 == 1) {
System.out.println("You have clicked once");
}
if(e.getClickCount()%2 == 0){
System.out.println("You have clicked twice");
}
}
});
Run Code Online (Sandbox Code Playgroud)
这不是我想要的,因为按钮上似乎有一些计时器使它更像是双击.所以我显然使用了错误的方法或其他东西,但我不知道还有其他选择.我希望在第一次点击后再次点击鼠标的速度并不重要.希望有道理.非常感谢任何帮助,谢谢.
我想在Next按钮的click事件中导航到新页面.假设我当前的页面是"FirstTestPage.xaml",并想点击nextButton_Click事件继续页面"SecondTestPage.xaml"
private void RadButton_Click(object sender, RoutedEventArgs e)
{
///CODE HERE
}
Run Code Online (Sandbox Code Playgroud)
并且还想要后退按钮将我转移到FirstTestPage.xaml.
谢谢
我在Window 7上开发VS2010 WPF.我有一个项目不会抛出任何错误或警告,编译正常,XAML设计显示正常,除了我无法点击或选择XAML设计视图中的任何控件.
是什么原因,或者如何找出问题或可能的例外情况?
我制作了一个userControl包含一些标签和复选框以及一个"x"按钮,用于在单击时自行移除.
考虑到在我的WPF应用程序,用户可以动态地把尽可能多的这个userControl在运行时,他想,和他们都不会有一个name解决到属性,究竟是否有可能删除UserControl从应用程序,通过点击它是-child-按钮"x"(即在它的"x"按钮的事件处理程序内)???
我已经看了一千个地方,发现这些特殊的两行代码无法正常工作:
((Grid)button.Parent).Children.Remove(this);
((Button)control.Parent).Content = null;
Run Code Online (Sandbox Code Playgroud) 我有一个MultiBinding转换器,根据我的两个Binding字段是否评估为true来确定控件的可见性.如果由于某种原因它无法达到这些bool属性中的任何一个,我想将它们设置为true.例如:
我目前拥有的代码是:
<MultiBinding Converter="{StaticResource AndToVisibilityConverter1}" FallbackValue="Visible">
<Binding Path="IsConnected" FallbackValue="true" />
<Binding Path="CurrentUser.IsConsumerOnlyAgent" Converter="{StaticResource InvertedBooleanConverter1}" FallbackValue="True" />
</MultiBinding>
Run Code Online (Sandbox Code Playgroud)
代码运行正常,但我在IDE的输出中收到错误消息,指出:
System.Windows.Data Error: 11 : Fallback value 'True' (type 'String') cannot be converted for use in 'Visibility' (type 'Visibility'). BindingExpression:Path=IsConnected; DataItem=null; target element is 'StackPanel' (Name='');
Run Code Online (Sandbox Code Playgroud)
我已经确定了这个转换器并验证了它是XAML错误的位置.对于这里的无知感到抱歉,但有没有办法可以将FallbackValue设置为这些绑定中的每一个,以便在未能获得设置路径时评估为"true"?提前致谢
更新:
这是我的可见性转换器的代码(我在我的应用程序的几个地方使用它,只想添加回退值):
internal class AndToVisibilityConverter : IMultiValueConverter
{
public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
{
if (values == null)
return Visibility.Collapsed;
foreach (var value in values)
{
if (value == …Run Code Online (Sandbox Code Playgroud) 我在WPF应用程序中有一个WinForms控件.幸运的是在WPF中,鼠标滚轮事件通常由鼠标光标下的控件处理......但如果它是WinForms控件,我必须先点击控件才能给它键盘焦点.如何在没有焦点的情况下绕过此行为并将鼠标滚轮事件发送到WinForms控件?
(注:MouseWheeL和PreviewMouseWheel事件似乎并没有为WindowsFormsHost工作,如果添加了处理程序.PreviewMouseWheel在WindowsFormsHost的父母,那就不叫当鼠标在非WPF控件的顶部显然,的WinForms控制.也没有得到一个MouseWheel事件;事件似乎完全消失.)
我必须处理纯文本文档,查找单词列表,并在找到的每个单词周围返回一个文本窗口。我正在使用NLTK。
我在Stack Overflow上找到了帖子,他们在其中使用正则表达式来查找单词,但没有获取其索引,而只是打印它们。我认为使用RE不正确,因为我必须找到特定的单词。
wpf ×6
c# ×4
.net ×2
xaml ×2
actualheight ×1
actualwidth ×1
asp.net-mvc ×1
binding ×1
controls ×1
cpu-word ×1
dispose ×1
java ×1
mouseevent ×1
mousewheel ×1
multibinding ×1
navigation ×1
nltk ×1
python ×1
silverlight ×1
swing ×1
text ×1
uielement ×1