小编Chr*_*ris的帖子

ASP.NET - 页面加载时显示消息

我有一个页面在page_load方法中执行长时间运行的任务(10到15秒).

我有客户端的JavaScript代码,将向用户显示一个体面的"页面加载"动画GIF.

我能够从代码隐藏中调用JavaScript方法,以显示"页面加载"动画gif,但是,长时间运行的任务正在挂起UI,使得动画gif实际上不会显示直到长时间之后 - 运行任务完成,这与我想要的完全相反.

为了测试这一点,在我的page_load方法中,我调用JavaScript方法来显示动画gif.然后,我使用Thread.Sleep(10000).发生的事情是,直到Thread.Sleep完成后才会显示动画gif.

显然我做错了什么.

任何意见,将不胜感激.

谢谢.

克里斯

下面是代码隐藏的示例:

protected void Page_Load(object sender, EventArgs e)
    {
        ClientScript.RegisterStartupScript
              (GetType(), "Javascript", "javascript: ShowWaitIndicator(); ", true);

        Response.Flush();

        Thread.Sleep(10000);
    }
Run Code Online (Sandbox Code Playgroud)

javascript c# asp.net

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

根据新宽度计算新高度?

我有一个宽度为500,高度为240的控件,我想保持宽高比.

控件的宽度调整为400.如何重新计算新的高度?

克里斯

c#

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

递归搜索分层列表

我有一个分层的对象列表.假设结构如下:

  • 根节点
    • 父节点
      • 子节点
    • 父节点
      • 子节点
    • 父节点
      • 子节点

子节点可以有自己的子节点,但目标是基本搜索"父节点".因此,假设父节点类具有名为"Name"的属性 - 并且用户输入部分名称,我希望返回其名称包含用户搜索条件的所有父节点.基本上,这比任何东西都更像是一个"过滤器"功能.所以,我知道如何做到这一点,然而,我遇到的问题是他们的关键目标是保持层次结构的机智.换句话说,如果有一个父节点与筛选条件匹配,我希望返回以下结构:

  • 根节点
    • 父节点
      • 子节点

我目前的努力只会产生:

  • 父节点
    • 子节点

我正在使用Linq.任何建议将不胜感激.

谢谢!

克里斯

下面的代码片段用于当前过滤器实现:

FilteredReports = Reports.FirstOrDefault().Children.Cast<IHierarchicalResult>()
                                    .SelectRecursive(item => item.Children.Cast<IHierarchicalResult>())
                                    .Where(item => item.Name.ToLower().StartsWith(filterCriteria))
                                    .ToObservableCollection();
Run Code Online (Sandbox Code Playgroud)

这是我正在使用的扩展方法:

public static IEnumerable<T> SelectRecursive<T>(this IEnumerable<T> source, Func<T, IEnumerable<T>> getChildren)
    {
        if (null == source)
        {
            throw new ArgumentNullException("source");
        }

        if (null == getChildren) return source;

        return SelectRecursiveIterator(source, getChildren);
    }

    private static IEnumerable<T> SelectRecursiveIterator<T>(IEnumerable<T> source, Func<T, IEnumerable<T>> getChildren)
    {
        foreach (T item in source)
        {
            yield return item;

            IEnumerable<T> …
Run Code Online (Sandbox Code Playgroud)

c# linq lambda

2
推荐指数
1
解决办法
1535
查看次数

如何在Oracle中查看错误?

尝试在Oracle中执行包含两个输入参数的存储过程时,我收到以下错误:

ORA-06550:第1行第7列:
PLS -00306:调用
'P_GET_NEXT_AVAILABLE_RUN'ORA
-06550 时参数的数量或类型错误:第1行第7行:
PL/SQL:语句被忽略

两个输入参数都需要非空值.我无法单步执行代码,否则我将能够看到哪个值为null - 所以 - 在Oracle中有哪种方法可以看到存储过程生成的错误 - 所以我可以确定哪个参数得到了空值?

sql database oracle plsql ora-06550

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

有条件的Lambda表达式?

我有一个lambda表达式,目前看起来像这样:

item => Reports.Add(item)
Run Code Online (Sandbox Code Playgroud)

我想修改它,使其具有条件性,并且基本上检查Reports.Contains(item)是否返回false,然后执行Reports.Add(item)操作.这可以在一条线上使用lambda吗?

克里斯

c# lambda

1
推荐指数
2
解决办法
2064
查看次数

在Lambda表达式中引用私有属性?

是否可以在lambda表达式中引用私有属性?还是只有公共财产?

例如.说我的私有财产名为InnerCollection,代码行将是:

x => x.InnerCollection
Run Code Online (Sandbox Code Playgroud)

有没有办法以某种方式实现这一点 - 不使用反射等?

使用.NET 4.0.

谢谢.

克里斯

c# lambda

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

获取所有逻辑子项

我试图获取我视图中的所有逻辑子项(用户控件)。我从根元素开始,遍历逻辑树,一切都按预期工作,但是,我的几个子控件是像 ListBox 等这样的项目,它们是数据绑定的并为其子级使用数据模板,这些是没有在逻辑树中返回。

这是我正在使用的代码:

private static void GetLogicalChildren<T>(DependencyObject parent, List<T> logicalCollection) where T : DependencyObject
    {
        IEnumerable children = LogicalTreeHelper.GetChildren(parent);

        foreach (object child in children)
        {
            if (child is DependencyObject)
            {
                DependencyObject depChild = child as DependencyObject;

                if (child is T)
                {
                    logicalCollection.Add(child as T);
                }

                GetLogicalChildren(depChild, logicalCollection);
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

wpf wpf-controls

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

标签 统计

c# ×5

lambda ×3

asp.net ×1

database ×1

javascript ×1

linq ×1

ora-06550 ×1

oracle ×1

plsql ×1

sql ×1

wpf ×1

wpf-controls ×1