小编Cha*_*lie的帖子

你能调用ko.applyBindings来绑定局部视图吗?

我正在使用KnockoutJS并拥有主视图和视图模型.我想要一个对话框(jQuery UI one)弹出另一个视图,该视图要绑定一个单独的子视图模型.

使用AJAX检索对话框内容的HTML,所以我希望能够ko.applyBindings在请求完成后调用,并且我想将子视图模型绑定到通过对话框div中的ajax加载的HTML部分.

这实际上是可行的还是我需要在页面最初加载然后调用ko.applyBindings一次时加载我的所有视图和查看模型?

ajax html5 knockout.js

256
推荐指数
3
解决办法
12万
查看次数

基于Type变量创建通用对象

我需要根据存储在数据库中的类型创建一个通用对象.我该如何实现这一目标?下面的代码(不会编译)解释了我的意思:

string typeString = GetTypeFromDatabase(key);
Type objectType = Type.GetType(typeString);

//This won't work, but you get the idea!
MyObject<objectType> myobject = new MyObject<objectType>();
Run Code Online (Sandbox Code Playgroud)

有可能做这种事吗?

谢谢

.net c# generics

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

如何使用MSTest/xUnit框架编写上下文/规范样式单元测试?

我一直在使用MSpec编写我的单元测试,并且更喜欢BDD风格,我认为它更具可读性.我现在正在使用MSpec不支持的Silverlight,所以我不得不使用MSTest,但仍然希望保持BDD风格,所以我想尝试一种方法来做到这一点.

只是为了解释我想要实现的目标,这就是我如何编写MSpec测试

[Subject(typeof(Calculator))]    
public class when_I_add_two_numbers : with_calculator
{
  Establish context = () => this.Calculator = new Calculator();
  Because I_add_2_and_4 = () => this.Calculator.Add(2).Add(4);
  It should_display_6 = () => this.Calculator.Result.ShouldEqual(6);
}

public class with_calculator
{
  protected static Calculator;
}
Run Code Online (Sandbox Code Playgroud)

因此,对于MSTest,我会尝试像这样编写测试(虽然你可以看到它不起作用,因为我已经输入了2个TestInitialize属性,但是你得到了我正在尝试做的...)

[TestClass]
public class when_I_add_two_numbers : with_calculator
{
   [TestInitialize]
   public void GivenIHaveACalculator()
   {
      this.Calculator = new Calculator();
   }

   [TestInitialize]
   public void WhenIAdd2And4()
   {
      this.Calculator.Add(2).Add(4);
   }

   [TestMethod]
   public void ThenItShouldDisplay6()
   {
      this.Calculator.Result.ShouldEqual(6);
   }
}

public class with_calculator
{
  protected Calculator Calculator {get;set;} …
Run Code Online (Sandbox Code Playgroud)

c# bdd unit-testing mstest mspec

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

Caliburn Micro Guard方法不评估财产变化

我一直在使用Caliburn Micro MVVM框架,并且在防护方法方面遇到了一些问题.

我有一个视图模型:

public class MyViewModel : PropertyChangedBase, IMyViewModel
Run Code Online (Sandbox Code Playgroud)

财产:

public DateTime? Date
{
   get{return this.date; }
   set
   {
      this.date = value;
      this.NotifyOfPropertyChange(() => Date);
   }
}
Run Code Online (Sandbox Code Playgroud)

另外,我的视图模型中有一个方法,带有一个保护方法

public void Calculate()
{
    // ..some code..
}

public bool CanCalculate()
{
    return this.Date.HasValue;
}
Run Code Online (Sandbox Code Playgroud)

我的视图中有一个按钮:

我遇到的问题是CanCalculate方法在加载时执行,但是当我在文本字段中输入值时,它不会重新评估CanCalculate方法.我在设置数据绑定视图模型属性时触发属性更改事件,那么可能是什么问题?

c# wpf mvvm caliburn.micro

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

谷歌放置自动完成,如何清理pac容器?

我正在使用谷歌地方自动完成控件,它创建了一个用于下拉类的元素pac-container.

我在ember应用程序中使用自动完成功能,当我完成它时,DOM元素自动完成必然会被删除,但pac-container元素仍然存在,甚至认为它是隐藏的.下次我实例化一个新的自动完成时,pac-container会创建一个新的并保留旧的.我似乎无法在API上找到类似于dispose方法的内容,那么有没有正确的方法呢?如果不是,我想我应该使用jquery来清理元素.

javascript google-places-api

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

jQuery小部件开发 - 我可以使用MVC模式吗?

我一直在使用knockoutjs和backbone来创建单页JavaScript应用程序.我使用骨干模型和淘汰视图模型,但我也有很多UI控件,我已经使用jQuery UI小部件工厂来创建.

我的问题是如何更好地构建我的jQuery小部件中的代码.像knockout/backbone/ember这样的框架可以很容易地在主应用程序中实现MVC类型模式,但是当涉及到小部件开发时,我最终会拥有一大堆输出和操作DOM元素的代码.我仍然可以测试这个,因为jquery可以很容易地查询DOM,但代码非常难看.理想情况下,我想在我的小部件中也有一个MVC模式.

是否有任何图书馆或框架旨在帮助解决这个问题?

javascript model-view-controller jquery-ui

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

Nullable struct vs class

我有一个包含两个字段的简单结构; 一个存储一个对象,另一个存储DateTime.我这样做是因为我想在Dictionary中存储对象,但也有DateTime标记.

我有一个返回我的结构的方法,我现在已经确定该方法也应该能够返回null,所以我使我的结构可以为空.我现在想知道我是否应该让我的结构成为一个类,所以它是一个引用类型?

.net c#

13
推荐指数
2
解决办法
4010
查看次数

实体框架4的数据库迁移

我一直在玩Entity Framework 4,使用模型驱动的方法从我的实体生成数据库脚本.这很好,但我不确定这在数据库版本控制时是如何工作的.我猜我是否想要使用活动记录类型迁移框架,我必须以相反的方式工作并从我的数据库生成我的实体?有没有办法使用模型驱动的方法并正确地版本化数据库?

.net entity-framework database-migration database-versioning

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

EmberJS:如何从控制器的动作转换到路由器

我有一个动作:

{{action create target="controller"}}
Run Code Online (Sandbox Code Playgroud)

我已将其定位到绑定控制器(而不是路由器),如下所示:

App.AddBoardController = Ember.Controller.extend
    create: ->
        App.store.createRecord App.Board, {title: @get "boardName"}
        App.store.commit()
        //TODO: Redirect to route
Run Code Online (Sandbox Code Playgroud)

如何从控制器操作重定向回路由?

javascript ember.js ember-old-router

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

在轨道上的ruby中嵌套布局

我是rails的新手,我正试图弄清楚如何使嵌套布局工作; 我假设他们有点像.net母版页?

我已按照本指南操作,并在布局目录中创建了一个application.erb.html,其中包含:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
       "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
  <meta http-equiv="content-type" content="text/html;charset=UTF-8" />
  <title><%= @page_title or 'Page Title' %></title>
  <%= stylesheet_link_tag 'layout' %>
  <style type="text/css"><%= yield :stylesheets %></style>
</head>
<body>

<%= yield(:content) or yield %>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

并将我现有的一个布局修改为:

<% content_for :stylesheets do %>

<% end -%>

<% content_for :content do %>
  <p style="color: green"><%= flash[:notice] %></p>
  <%= yield %>
<% end -%>

<% render :file => 'layouts/application' %>
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中查看我的一个视图时,绝对没有任何内容呈现; 当我查看源代码时没有html.

我确定我错过了一些基本的东西,有人能说出来吗?!

ruby-on-rails

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