小编Dar*_*o Z的帖子

调用异步函数时自动"加载"指示符

我正在寻找一种方法来在调用异步服务时自动显示和隐藏"加载"消息,所以不要这样做:

showLoadingWidget();

service.getShapes(dbName, new AsyncCallback() {
  public void onSuccess(Shape[] result) {
    hideLoadingWidget();
    // more here...
  }

  public void onFailure(Throwable caught) {
    hideLoadingWidget();
  //more here
  }
});
Run Code Online (Sandbox Code Playgroud)

我想这样做,但仍然在完成时显示和隐藏消息.

// this should be gone: showLoadingWidget();
service.getShapes(dbName, new AsyncCallback() {
    public void onSuccess(Shape[] result) {
        // this should be gone: hideLoadingWidget();
        // more here...
    }
    public void onFailure(Throwable caught) {
        //this should be gone:  hideLoadingWidget();
        //more here
    }
});
Run Code Online (Sandbox Code Playgroud)

总之,我想改变异步调用的行为.感谢您提出所有可能的建议.

丹尼尔

java gwt

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

在C#中实现阻塞队列

我使用下面的代码来实现和测试阻塞队列.我通过启动5个并发线程(删除程序)来测试队列,以便将项目从队列中拉出来,阻塞队列是否为空,以及1个并发线程(加法器)将项目间接添加到队列中.但是,如果我让它运行的时间足够长,我会得到一个异常,因为即使队列为空,其中一个卸载线程也会处于等待状态.

有谁知道为什么我得到例外?请注意,我很想知道为什么这不起作用而不是工作解决方案(就像我可以谷歌那样).

我非常感谢你的帮助.

using System;
using System.Threading;
using System.Collections.Generic;

namespace Code
{
    class Queue<T>
    {
        private List<T> q = new List<T>();

        public void Add(T item)
        {
            lock (q)
            {
                q.Add(item);
                if (q.Count == 1)
                {
                    Monitor.Pulse(q);
                }
            }
        }

        public T Remove()
        {
            lock (q)
            {
                if (q.Count == 0)
                {
                    Monitor.Wait(q);
                }
                T item = q[q.Count - 1];
                q.RemoveAt(q.Count - 1);
                return item;
            }
        }
    }

    class Program
    {
        static Random r = new Random();
        static Queue<int> q = …
Run Code Online (Sandbox Code Playgroud)

c# queue multithreading

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

我为什么要在Android中使用片段?

对于很长的时间,我认为是在Android中使用的片段,如果我只是开发的应用程序的原因,Android Phone只而不是10.1.

是否有必要使用片段?另外,片段的用法是什么,我发现它可以用于'tab'和'separate view'......

我真的觉得这很混乱.谁能简单解释并举例说明?

android apk android-fragments

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

使用JQuery来获取兄弟姐妹

我正在尝试获取下面的标记以从选择中获取值并将其粘贴到输入中.

<td class="ms-formbody" style="width:385px">
    <input name="ctl00$PlaceHolderMain$dlFields$ctl00$txtSource" type="text" id="ctl00_PlaceHolderMain_dlFields_ctl00_txtSource" class="ms-input" />
    <select name="ctl00$PlaceHolderMain$dlFields$ctl00$ddlSourceFields" id="ctl00_PlaceHolderMain_dlFields_ctl00_ddlSourceFields" class="ms-input">
        <option value="Some Field Name 1">Some Field Name 1</option>
        <option value="Some Field Name 2">Some Field Name 2</option>
        <option value="Some Field Name 3">Some Field Name 3</option>
        <option value="Some Field Name 4">Some Field Name 4</option>
    </select>
    <a href="javascript: appendField();">append</a>
</td>
Run Code Online (Sandbox Code Playgroud)

我似乎无法弄清楚如何抓住兄弟姐妹.我试过,$(this).siblings("input").val()但错误的网页错误'parentNode.firstChild' is null or not an object.

试过$(this).prev().prev().val(),然后回来未定义.抓住这些东西最好的方法是什么?

谢谢,大卫

jquery

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

LINQ to Entities搜索多个关键字的文本属性

对于我正在做的网站,我们正在使用LINQ to Entities.我被指控为网站添加搜索功能.我试图找出在数据库中的单个字段上搜索多个关键字(用户输入)的最优雅方式.请允许我举个例子.

表列:

Name, Description
Run Code Online (Sandbox Code Playgroud)

示例行:

"Cookie monster", "Fluffy, likes cookies and blue"
Run Code Online (Sandbox Code Playgroud)

用户搜索(分隔符无关紧要):

"blue fluffy" 
Run Code Online (Sandbox Code Playgroud)

目前我正在使用以下内容:

    public List<SesameCharacters> SearchByKeywords(string keywords)
    {
        List<SesameCharacters> output = new List<SesameCharacters>();
        string[] k = keywords.ToLower().Split(' ');
        using (SesameStreet_Entities entities = new SesameStreet_Entities())
        {
            IQueryable<SesameCharacters> filter = entities.SesameCharacters;

            foreach (string keyword in k)
                filter = ForceFilter(filter, keyword);

            output = filter.ToList();
        }
        return output;
    }

    private IQueryable<SesameCharacters> ForceFilter(IQueryable<SesameCharacters> filter, string keyword)
    {
        return filter.Where(p => p.Description.ToLower().Contains(keyword));
    }
Run Code Online (Sandbox Code Playgroud)

这目前按预期工作,但我认为这不是问题的最佳解决方案.我错过了一些明显的东西吗?

注意:这是AND匹配的.

c# search linq-to-entities

7
推荐指数
2
解决办法
7288
查看次数

需要IE6不支持的JQUERY,警告用户

我正在构建一个应用程序,目前无意支持IE6.为了公平对待IE6,我希望IE6用户知道这一点而不是认为该应用程序是由不称职的开发人员制作的.

我希望有一个JQUERY Plug-In可以在页面顶部提供一个很好的StackOverflow样式警报,即插即用,我已经完成了.令人惊讶的是我找不到这样的插件.

有没有人知道任何可以进行IE6检测的插件,并且有一个很好的警告?这些天似乎是常见的事情.

谢谢

javascript jquery internet-explorer jquery-plugins

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

Unity:如何在解析另一个类型时指定使用类型的特定实例

我在Unity中尝试以下内容:

我有一个类型与以下构造函数

public Type1(Type2 firstDependency, Type3 secondDependency)
Run Code Online (Sandbox Code Playgroud)

Type1使用Unity 解析时,我想指定Type2要注入的特定实例.此特定实例Type2未在容器中注册.Type3已在容器中注册,应照常解决.

更具体地说,考虑Type1是一个DocumentViewer类.Type2是具体的Document.Type3是一个SpellingChecker.

我希望能够解决DocumentViewerDocument,其仅在运行时知道.可以创建多个DocumentViewer不同的实例Documents.

我怎样才能做到这一点?

.net c# unity-container

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

我似乎已经陷入了NullReferenceExceptions的巨大麻烦

最近我正在开发一种解析和显示网站XML信息的软件.够简单吧?

我正在获取NullReferenceExceptions的LOADS.例如,这种方法:

private void SetUserFriends(List<Friend> list)
{
    int x = 40;
    int y = 3;

    if (list != null)
    {
        foreach (Friend friend in list)
        {
            FriendControl control = new FriendControl();
            control.ID = friend.ID;
            control.URL = friend.URL;
            control.SetID(friend.ID);
            control.SetName(friend.Name);
            control.SetImage(friend.Photo);

            control.Location = new Point(x, y);
            panel2.Controls.Add(control);

            y = y + control.Height + 4;
        } 
    }
}
Run Code Online (Sandbox Code Playgroud)

我不得不把一个丑陋的包裹作为罪恶如果在实际的foreach循环周围,以防止异常.

我觉得我只是把绷带放在轮胎上,而不是实际解决问题.有什么办法可以解决这个问题吗?也许我应该读一本关于编程模式的书或不是什么?

真的,我迷路了.我可能会问错误的问题.

.net c# nullreferenceexception

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

使用Linq to XML选择Xml节点

我的Xml文件:

<?xml version="1.0" encoding="utf-8"?>
<ArrayOfCustomer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    <Customer>
        <CustomerId>1f323c97-2015-4a3d-9956-a93115c272ea</CustomerId>
        <FirstName>Aria</FirstName>
        <LastName>Stark</LastName>
        <DOB>1999-01-01T00:00:00</DOB>
    </Customer>
    <Customer>
        <CustomerId>c9c326c2-1e27-440b-9b25-c79b1d9c80ed</CustomerId>
        <FirstName>John</FirstName>
        <LastName>Snow</LastName>
        <DOB>1983-01-01T00:00:00</DOB>
    </Customer>
</ArrayOfCustomer>  
Run Code Online (Sandbox Code Playgroud)

我的尝试:

XElement toEdit = 
    (XElement)doc.Descendants("ArrayOfCustomer")
                 .Descendants("Customer")
                 .Where(x => Guid.Parse((x.Descendants("CustomerId") as XElement).Value) == customer.CustomerId)
                 .First<XElement>();
Run Code Online (Sandbox Code Playgroud)

这会引发以下异常:

 Object reference not set to an instance of an object.
Run Code Online (Sandbox Code Playgroud)

1)不是x一个XElement

2)这是一个适合选择Xml节点的lambda吗?

3)当然你会如何找到这个节点CustomerId

c# xml lambda linq-to-xml

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

ListBox在Silverlight 4中禁用状态

所以我正在设计一个ListBox,我已经到了禁用ListBox时我需要做一个灰色样式的部分.但是,当我查看Blend中的状态选项卡时,只有Validation States存在 - 没有包含Disabled状态的常见Common States的迹象.

我尝试创建一个没有自定义样式的vanilla项目,只是一个ListBox,同样的事情发生了.我的问题是,我如何为ListBox设置禁用状态?我错过了一些明显的东西吗

silverlight styles itemtemplate expression-blend silverlight-4.0

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