问题列表 - 第12284页

当使用反射获取属性时,如何将搜索限制为我感兴趣的子类?

在使用反射从程序集中成功获取特定类型的列表之后,我现在想要了解每个类型的公共属性.

这些类型中的每一种都源自至少一个基类.

我注意到当我获得一个类型的属性时,我也从基类中获取属性.

我需要一种方法来过滤掉基类属性,只返回我调用的类型属性的属性.

我认为它类似于我只从给定的基本类型获得基类型的子类,不包括基类型.

Assembly.GetAssembly(baseType).GetTypes().Where(type => type.IsSubclassOf(baseType)).ToList()
Run Code Online (Sandbox Code Playgroud)

reflection assemblies properties getproperties

5
推荐指数
1
解决办法
1119
查看次数

有没有办法在RedirectToAction中维护IsAjaxRequest()?

如果你不希望任何环境或为什么我需要这样一个例子,然后跳到问题(S)在底部!

为了保持整洁,我最初在没有JavaScript的情况下构建了我的应用程序.我现在正试图在它的顶部添加一层不引人注目的JavaScript.

本着MVC的精神,我利用了简单的路由和重新路由,你可以做的事情RedirectToAction().

假设我有以下URL来启动注册过程:

http://www.mysite.com/signup

并且假设注册过程分两步:

http://www.mysite.com/signup/1
http://www.mysite.com/signup/2

假设我想要,如果启用了JavaScript,则注册表单将显示在ThickBox等对话框中.

如果用户在步骤2退出注册过程,但稍后点击"注册"按钮,我想要此网址:

http://www.mysite.com/signup

要执行某些业务逻辑,请检查会话.如果他们在中途离开之前的注册工作,那么我想提示他们恢复或重新开始.

我最终可能会遇到以下方法:

public ActionResult SignUp(int? step)
{
    if(!step.HasValue)
    {
        if((bool)Session["SignUpInProgress"] == true)
        {
            return RedirectToAction("WouldYouLikeToResume");
        }
        else
        {
            step = 1;
        }
    }
    ...
}

public ActionResult WouldYouLikeToResume()
{
    if(Request.IsAjaxRequest())
    {
        return View("WouldYouLikeToResumeControl");
    }
    return View();
}
Run Code Online (Sandbox Code Playgroud)

WouldYouLikeToResume中的逻辑是:

  • 如果是AJAX请求,则仅返回用户控件或"部分",以便模态弹出框不包含母版页.
  • 否则返回普通视图

但是,这会失败,因为一旦我从SignUp重定向,IsAjaxRequest()就会变为false.

显然,有很简单的方法来修复这个特定的重定向,但我想保持全局Ajax请求的知识,以便在我的网站上解决这个问题.

问题:

ASP.NET MVC非常非常可扩展.

是否有可能拦截调用RedirectToAction并在参数中注入类似"isAjaxRequest"的内容?

要么

还有其他方法可以安全地检测到原始呼叫是AJAX吗?

要么

我是以完全错误的方式来做这件事的吗?

ajax asp.net-mvc url-routing

5
推荐指数
1
解决办法
2869
查看次数

绑定到ObservableCollection <string>的Silverlight TabControl在更改集合时不更新

带有TabControl的Silverlight 3应用程序使用IValueConverter绑定到ObservableCollection.应用程序启动时初始绑定工作(转换器调用).对绑定集合的更改,Clear()或Add()不会反映在未调用的TabControl ...转换器中.

注意:绑定的ListBox反映了对绑定集合的更改,而TabControl则没有.

想法?

/ JHD


XAML绑定......

<UserControl.Resources>
    <local:ViewModel x:Key="TheViewModel"/>
    <local:TabConverter x:Key="TabConverter" />
</UserControl.Resources>
<StackPanel DataContext="{StaticResource TheViewModel}">
    <ListBox ItemsSource="{Binding Classnames}" />
    <controls:TabControl x:Name="TheTabControl" 
        ItemsSource="{Binding Classnames, Converter={StaticResource TabConverter}, ConverterParameter=SomeParameter}"/>
    <Button Click="Button_Click" Content="Change ObservableCollection" />
</StackPanel>
Run Code Online (Sandbox Code Playgroud)

ViewModel ......

namespace DatabindingSpike
{
    public class ViewModel
    {
        private ObservableCollection<string> _classnames = new ObservableCollection<string>();

        public ViewModel()
        {
            _classnames.Add("default 1 of 2");
            _classnames.Add("default 2 of 2");
        }

        public ObservableCollection<string> Classnames
        {
            get { return _classnames; }
            set { _classnames = value; }
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

data-binding silverlight tabcontrol observablecollection

5
推荐指数
1
解决办法
9429
查看次数

不可变性和XML序列化

一旦设置了初始值,我就有几个不可变的类.Eric Lippert称之为一次性写入不可变性.

在C#中实现一次写入不变性通常意味着通过构造函数设置初始值.这些值初始化只读字段.

但是,如果需要使用XmlSerializer或DataContractSerializer将类似这样的类序列化为XML,则必须具有无参数构造函数.

有没有人建议如何解决这个问题?是否有其他形式的不变性可以更好地与序列化?

编辑:正如@Todd所指出的,DataContractSerializer不需要无参数构造函数.根据MSDN上的DataContractSerializer文档,DataContractSerializer"不会调用目标对象的构造函数."

c# xml-serialization immutability

31
推荐指数
3
解决办法
4727
查看次数

强制Spring的MBeanExporter使用特定的MBeanServer

我有一个在JBoss 4.2.2上运行的Web应用程序.为了监控性能,我启用了Java 5附带的内部平台JMX服务器.换句话说,我添加了:

-Dcom.sun.management.jmxremote
Run Code Online (Sandbox Code Playgroud)

到JBoss的启动脚本.这按预期工作.但是,因此,所有MBean现在都在平台MBeanServer上注册.我不希望这样,我希望它们在JBoss的MBeanServer上注册.

困难在于我使用Spring来注册我的托管bean.为此,MBeanExporter使用.因此,我需要告诉我MBeanExporter在注册bean时使用JBoss的MBeanServer.但是,MBeanExporter影响使用服务器的唯一暴露方法是setServer(MBeanServer mBeanServer).问题是我只知道如何以编程方式获取对正确的MBeanServer的引用,而不是在声明的Spring的XML中MBeanExporter.

我的选择似乎是:

  1. 编写一个子类MBeanExporter,覆盖某些方法,以便加载正确的MBeanServer
  2. 写一个PostBeanProcessor找到JBoss的MBeanServer,然后调用setServer
  3. JNDI?仅在MBeanServer在JNDI中公开时才有效,但我无法找到它.

什么是最惯用的方式?我做的事真的很傻吗?

java jboss spring jmx mbeans

3
推荐指数
1
解决办法
2642
查看次数

在jsp中导入java类的问题

我在netbeans的源包中创建了一个java包

我在一个Web文件夹中有一个jsp文件

现在我想在jsp文件中导入这个java包,但是我没有在import命令中获取我的包名

java import packages

0
推荐指数
1
解决办法
1528
查看次数

如何使用CSS将两个标题放在一起?

<h5>Category</h5><h6>auto</h6>
Run Code Online (Sandbox Code Playgroud)

Categoryauto放在不同的行上,如下所示:

类别

汽车

我怎样才能将它们放在同一条线上,像这样?

分类自动

html css html-heading

10
推荐指数
2
解决办法
2万
查看次数

.Net RIA服务:DomainService需要一个无参数的构造函数?

我在一个带有一些Silverlight组件的ASP.Net应用程序中使用.Net RIA Services的July CTP.我在Silverlight上打电话给RIA服务.

当我尝试在我的域服务(LinqToEntitiesDomainService对象)中使用Unity和构造函数依赖注入时出现了我的问题.Silverlight应用程序现在抱怨没有无参数构造函数.

我不想拥有无参数构造函数,我希望Unity解析构造函数参数.这可能吗?难道我做错了什么?或者我应该找到另一种方法来注入我的构造函数参数?

public class DashboardService : LinqToEntitiesDomainService<DashboardEntities>
{
    private IUserService userService;

    public DashboardService(IUserService userService)
        : base()
    {
        if (userService == null)
        {
            throw ExceptionBuilder.ArgumentNull("userService");
        }
        this.userService = userService;
    }

    ...
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.2; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.30; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729)
Timestamp: Tue, 18 Aug 2009 14:34:54 UTC


Message: Unhandled Error in …
Run Code Online (Sandbox Code Playgroud)

c# silverlight unity-container wcf-ria-services

6
推荐指数
1
解决办法
3018
查看次数

如何编写OS X Finder插件

我正在寻找编写Mac OS X Finder插件的指南或示例代码?它想知道如何做一些简单的动作:

  1. 将图像叠加器添加到图标
  2. 添加上下文菜单项
  3. 听取文件的变化

我找到了以下两个资源:

我很想检查SCPlugin代码,但希望找到一个更容易消化的样本.

macos plugins cocoa finder objective-c

47
推荐指数
4
解决办法
3万
查看次数

添加context.Response.Headers.Add("Cache-Control","no-cache"); 说IIS集成管道需要吗?

不确定这是否有意义,但为什么在我的http处理程序上添加代码(响应返回json结果的ajax请求):

加入 context.Response.Headers.Add("Cache-Control", "no-cache");

导致错误并说必须设置集成管道模式?

asp.net iis ajax caching

9
推荐指数
1
解决办法
1万
查看次数