小编sen*_*nfo的帖子

使用MVVM Foundation Messenger显示对话框

我正在构建一个WPF应用程序并尝试符合MVVM最佳实践.我正在使用MVVM Foundation框架,并注意到我读过的Messenger类应该用于处理WPF中的对话框.这听起来很棒,但我完全不了解如何使用Messenger来实现此目的.从字面上看,我想要做的就是打开一个模态关于对话框 - 我不需要来回传递任何消息.

Messenger类的目的是用于对话框需要来自其父级的消息,还是将消息返回给其父级的情况?关于对话框是否有点过分?如果只是将代码添加到事件处理程序以显示对话框,我会更好吗?

wpf dialog mvvm mvvm-foundation messenger

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

Mongoid:通过has_many不止一次引用相同的模型

我希望能够在同一个模型中多次引用模型(has_many关系).例如,给定以下模型:

class MyModel
    include Mongoid::Document

    field :name, type: String
    has_many :main_efforts, :class_name => 'Effort', as: :effortable, dependent: :delete, autosave: true
    has_many :secondary_efforts, :class_name => 'Effort', as: :effortable, dependent: :delete, autosave: true

    validates_presence_of :name
end

class Effort
    include Mongoid::Document

    field :name, type: String
    belongs_to :effortable, polymorphic: true
    validates_presence_of :name
end
Run Code Online (Sandbox Code Playgroud)

如您所见,Effort模型被引用两次.最初,我的Effort模型不是多态的,但似乎Mongoid无法确定努力属于哪个集合(main_efforts或secondary_efforts).因此,我把它变成了多态的.但是,在使其成为多态之后,我的main_efforts和secondary_efforts字段始终是一个空数组.

在同一模型中多次引用多态模型的正确方法是什么(假设需要多态模型)?

ruby mongoid mongoid3

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

使用iPhone多点触控键盘搜索按钮

我在视图上有一个常规文本字段,我想使用iPhone键盘上的搜索按钮.对于我的生活,我无法弄清楚如何做到这一点.似乎没有任何暴露的事件,我可以连线,特别是与键盘上的搜索按钮有关.我已经google了一下,但我也没有找到任何与此主题相关的内容.

iphone cocoa-touch uikit multitouch-keyboard

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

像Redis一样在键/值数据库中对数据进行分组

我正在尝试在Redis数据库中对类似于amazon.com类别(例如,书籍,电影,电子产品等)的数据进行建模.订单在HTML页面上呈现时对我很重要,因此向用户呈现一致的用户界面.因此,我将类别存储在排序集中:

ZADD categories 0 "Books"
ZADD categories 1 "Movies"
ZADD categories 2 "Electronics"
Run Code Online (Sandbox Code Playgroud)

然后,我为每个子类别创建了另一个排序集.

ZADD categories:books 0 "Fiction"
ZADD categories:books 1 "Non-Fiction"
ZADD categories:movies 0 "Horror"
[...]
Run Code Online (Sandbox Code Playgroud)

从这里开始,我想我可以将产品存储在哈希中.

HMSET product:1000 category 0 subcategory 0 title "Redis Cookbook"
HMSET product:1001 category 1 subcategory 0 title "Nightmare on Elm Street"
[...]
Run Code Online (Sandbox Code Playgroud)

我对Redis和Key/Value数据库商店都很陌生,所以我对自己的方法充满信心.这种模式对我来说是长期的吗?我应该注意更好/替代的方法吗?我担心的一个问题是保持名称"同步".例如,如果我将顶级类别从"书籍"更改为"文献"(可怕的例子,我知道),还应更新"参考"书籍的子类别的所有键.

methodology database-design nosql redis

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

SharePoint 2007 - 如何更改附件回形针图像

当列表项具有附件时,SharePoint会自动呈现该特定行的回形针图像,这表示该项具有附件.有没有办法改变渲染的图像?

该站点位于共享托管环境中,因此我无法简单地替换文件系统上的映像.此外,还有其他列表属于应使用默认图像的同一站点.

有没有办法更改为单个列表中具有附件的项目呈现的图像?

编辑:以下是呈现的HTML:


<td class="ms-vb2">
    <img align="absbottom" src="http://devsandbox/_layouts/images/attach.gif" alt="Attachment"/>
</td>
Run Code Online (Sandbox Code Playgroud)

sharepoint

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

ASP.NET如何解析页面?

我正在寻找一篇文章,深入探讨ASP.NET的工作原理以及它如何从XML标记中呈现控件.例如,在幕后,ASP.NET如何采用以下标记并让它产生我们看到的结果?

<asp:Label ID="MyLabel"><%= myObject.Text%></asp:Label>
Run Code Online (Sandbox Code Playgroud)

有没有人知道任何会深入探讨ASP.NET内部工作的文章?

asp.net webforms

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

在没有命中数据库的情况下测试ASP.NET MVC控制器的干净方法?

我正在尝试一种清理控制器的好方法,使它们更易于测试,而不必依赖于持续的数据库连接.我认为通过使用IObjectContext抽象出我的对象上下文,我有一个不错的开始.这适用于上下文,但我的下一个问题是我有一个通用的存储库,我在整个项目中使用了许多操作方法(参见下面的代码).

除了默认构造函数之外,我的控制器还包含一个重载,它接受IObjectContext(简单依赖注入).在我的单元测试中,我可以轻松地模拟IObjectContext.我的问题是在各种动作方法中处理我的通用存储库.我可以向控制器添加一些额外的构造函数重载,但我担心这会很快变得混乱.但是,如果没有这样做,我根本无法想到一种提高可测试性的简洁方法,因此我不必依赖数据库连接.

我有一个简单的解决方案吗?

/// <summary>
/// Initializes a new instance of the HomeController class
/// </summary>
public HomeController(IObjectContext context)
{
    _context = context;
}

/// <summary>
/// GET: /home/index
/// </summary>
/// <returns>Renders the home page</returns>
public ActionResult Index()
{
    List contacts;
    HomeViewModel model;

    using (IRepository<Contact> repository = new DataRepository<Contact>(_context))
    {
        contacts = new List(repository.GetAll());
    }

    model = new HomeViewModel(contacts);

    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

如果我必须采用添加额外构造函数重载的路径以适应我的顾虑,我正在考虑添加一些私有属性(这将在需要之前对存储库进行实例化)到我的控制器为每个存储库操作方法利用.例如:

private IRepository<Contact> _contactRepository;

private IRepository<Contact> ContactRepository
{
    get
    {
        return _contactRepository ?? (_contactRepository …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc unit-testing rhino-mocks mocking

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

在Firefox和Chrome中使用jQuery获取JSON结果的问题(IE8 Works)

我正在尝试使用jQuery解析JSON,我遇到了问题.使用下面的代码,数据不断返回null:

<!DOCTYPE html>
<html>
  <head>
    <title>JSON Test</title>
  </head>
  <body>
    <div id="msg"></div>
    <script src="http://code.jquery.com/jquery-latest.js"></script>
    <script>
        $.ajax({
          url: 'http://datawarehouse.hrsa.gov/ReleaseTest/HGDWDataWebService/HGDWDataService.aspx?service=HC&zip=20002&radius=10&filter=8357&format=JSON',
          type: 'GET',
          dataType: 'json',
          success: function(data) {
            $('#msg').html(data[0].title); // Always null in Firefox/Chrome. Works in IE8.
          },
          error: function(data) {
            alert(data);
          }
        });
    </script>
  </body>
</html>
Run Code Online (Sandbox Code Playgroud)

JSON结果如下所示:

{"title":"HEALTHPOINT TYEE CAMPUS","link":"http://www.healthpointchc.org","id":"tag:datawarehouse.hrsa.gov,2010-04-29:/8357","org":"HEALTHPOINT TYEE CAMPUS","address":{"street-address":"4424 S. 188TH St.","locality":"Seatac","region":"Washington","postal-code":"98188-5028"},"tel":"206-444-7746","category":"Service Delivery Site","location":"47.4344818181818 -122.277672727273","update":"2010-04-28T00:00:00-05:00"}
Run Code Online (Sandbox Code Playgroud)

如果我代替我的网址与Flickr的API URL(http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=? ),我得到一个有效的JSON结果,我能够利用.

我已经在JSONLint上成功验证了我的JSON ,所以我已经没想到我可能做错了什么.

有什么想法吗?

更新:我让客户端将内容类型切换到application/json.不幸的是,我仍然遇到了完全相同的问题.我还更新了我的HTML并包含了我一直在使用的实时URL.

更新2:我在IE8中尝试了一下,它运行正常.出于某种原因,它在Firefox 3.6.3或Chrome 4.1.249.1064(45376)中都不起作用.我确实注意到返回数据的错误(开发人员正在返回一组数据,即使对于总是会返回单个记录的查询),但它仍然让我感到困惑,为什么它在其他浏览器中不起作用.

值得注意的是,我正在使用本地文件系统上的HTML文件.我认为这可能是一个XSS问题,但这并不能解释Flickr的工作原理.

javascript jquery parsing json

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

方法重载与可选参数

我似乎记得读过C#4.0中方法重载(和构造函数链接)和可选参数之间存在重要区别,但我无法找到任何确认任何差异的内容.

以下两种实现之间是否存在重要差异?

第一

public void Foo()
{
   Foo(String.Empty);
}

public void Foo(string message)
{
   Console.WriteLine(message);
}
Run Code Online (Sandbox Code Playgroud)

第二

public void Foo(string message = "")
{
   Console.WriteLine(message);
}
Run Code Online (Sandbox Code Playgroud)

c# methods optional-parameters c#-4.0

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