我正在使用MVVM模式开发WPF应用程序.我正在使用MVVM Light库,我也尝试使用依赖注入器(我正在考虑Ninject和Unity).
我已经阅读了很多博客文章,我对让我的课程相互沟通的"正确"方式感到很困惑.特别是,我不知道何时使用依赖注入以及何时依赖于介体模式.
让我们考虑一个例子.我有一个ViewModel,我们称之为DataViewModel,以及提供某种数据的Data类.如何在它们之间进行通信更好:
A.使用IData接口向DataViewModel注入依赖项?这样,Data就不必依赖Messenger,但如果Data发生变化,它必须提供一个事件,而ViewModel必须订阅它.
B.依靠中介模式(在MVVM Light中实现为Messenger)并在Model和ViewModel之间发送消息?这样就根本不需要使用依赖注入,因为整个通信将基于消息.
此外,我的ViewModel是否应该在其他ViewModel上注入依赖项,或者仅仅依靠Messenger更好?如果是第一个,是否有必要为每个ViewModel定义一个单独的接口?我认为为每个VM定义一个接口将是一项额外的工作,但也许值得.
只是想知道,GNU C库(glibc)是否可用于非GNU和/或非POSIX平台,如Microsoft Windows?
我在web.xml中配置了一个错误的servlet:
<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/ExceptionHandler</location>
</error-page>
Run Code Online (Sandbox Code Playgroud)
对?
在我的(通用)servlet中:
doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
try {
...
...
} catch (Exception e) {
throw new ServletException("some mesage", e);
}
}
Run Code Online (Sandbox Code Playgroud)
所以,"e"将是这种情况下的根本原因.
在我的ExceptionHandler类中,我有:
doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
Throwable throwable = (Throwable) request.getAttribute("javax.servlet.error.exception");
throwable.getCause() //NULL
}
Run Code Online (Sandbox Code Playgroud)
这就是问题.throwable.getCause()为null.
我正试图在没有太多运气的情况下使用带有webapp的WTForms.
我希望能够使用form_fieldtemplatetag,如文档中所示:
{% form_field form.username class="big_text" onclick="do_something()" %}
我已经在我的应用程序中安装了WTForms,但是它的Django模板标签对我不起作用.有没有人有关于如何安装这个的说明?
如果我不能正常工作,我可能会放弃并切换到Jinja2模板.到目前为止我们与Django保持一致的原因是尽可能地限制依赖的数量.
这是我到目前为止所尝试的:
我在本地安装了Django 1.1并根据文档启用了它.
我尝试添加INSTALLED_APPS = ['wtforms.ext.django']到我的settings.py- 没有效果.
我尝试手动注册wtforms templatetag:
register = webapp.template.create_template_register()
from wtforms.ext.django.templatetags import wtforms
register.tag('form_field', wtforms.do_form_field)
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误: InvalidTemplateLibrary: Could not load template library from template_helpers, No module named django.templatetags
所以我尝试将模板标签复制并粘贴到我自己的代码中,我得到了错误TemplateSyntaxError: Could not parse the remainder: ' form.foobar' from 'form_field form.foobar.
但是,我不认为模板标签注册有效,因为没有该代码,错误是相同的.
更新:我要离开这个问题以防万一有人在互联网上有一天可以回答它,但我切换到Jinja2现在一切正常.使用Django模板的Webapp对我来说已经死了.;-)
将子命名空间用于纯粹的组织目的会被视为不良做法吗?例如:
namespace vehicles
{
namespace cars
{
// Stuff here
}
namespace boats
{
// More stuff here
}
}
Run Code Online (Sandbox Code Playgroud)
我可以看到这对大型项目来说会是一个什么问题,因为输入vehicles::cars::function很多东西会很不方便.那么小项目呢?
如何在Eclipse CDT中设置优化/调试标志,设置使用GNU工具链?
谢谢 !
我正在开发一个图像预加载器,它将预加载页面上的所有图像.我的方法如下:
onDomReady,循环遍历$("*")//在DOM准备就绪时通过所有元素
$(this).tagName.toLowerCase() == 'img',read src属性和预加载该图像$(this).css("background-image") != "none",请阅读背景图像道具并预加载该图像我的问题是这种方法不适用于:hover类,它通常是需要预加载的图像.
我想要做的是,在循环遍历所有元素时,检查:hover伪类的存在,然后检查该类的"background-image"属性是否存在.
我真的很想坚持这种方法,因为它a)允许我不必明确指定我想要预加载的每个图像,以及b)处理CSS中的相对路径,如读取"background-image "属性为我提供了相对于页面的路径.
所以,我的问题是:
有可能,使用jQuery,读取元素的:hover伪类的CSS属性?如果没有,有什么建议吗?
谢谢!
我是Telerik MVC扩展的新手.我已成功在视图中实现了我的第一个实例.我没有使用Telerik MVC Grid实现我的第二个视图,但是绑定到网格的类有2列Nullable类型.当我运行我的代码时,视图会发出错误,如下所示:
传递到字典中的模型项为null,但此字典需要"System.DateTime"类型的非null模型项.
我原本以为这可能是一个渲染问题,模板只适用于DateTime而不是Nullable,但后来我完全取出了显示这些DataTime的任何列?属性.
我的代码如下:
查看Telerik MVC Grid的代码
<%= Html.Telerik().Grid(Model.ScheduledCourseList)
.Name("ScheduledCoursesGrid")
.ToolBar(commands => commands.Insert().ButtonType(GridButtonType.Image).ImageHtmlAttributes(new { style = "margin-left:0" }))
.DataKeys(keys => keys.Add(sc => sc.Id))
.DataBinding(dataBinding =>
dataBinding.Ajax()
.Select("_List", "Course")
.Insert("_InsertAjax", "Course")
.Update("_UpdateAjax", "Course")
.Delete("_DeleteAjax", "Course")
)
.Columns(columns =>
{
columns.Bound(c => c.Id).Width(20);
//columns.Bound(c => c.ScheduledDateTime).Width(120);
//columns.Bound(c => c.Location).Width(150);
columns.Command(commands =>
{
commands.Edit().ButtonType(GridButtonType.Image);
commands.Delete().ButtonType(GridButtonType.Image);
}).Width(180).Title("Commands");
})
.Editable(editing => editing.Mode(GridEditMode.PopUp))
.Sortable()
.Footer(true) %>
Run Code Online (Sandbox Code Playgroud)
DTO
public class ScheduledCourseDTO
{
public int Id { get; set; }
public int CourseId { get; …Run Code Online (Sandbox Code Playgroud) 尽管在这里和其他地方有几个类似的问题,但我一直无法找到解决这个问题的可行办法.Rails 3似乎没有回答这个问题,所以这里有:
我有一个应用程序,当前允许用户创建自己的子域,其中包含他们的应用程序实例.在Rails 2中,你最好使用subdomain-fu gem,在版本3中它显然更简单,根据Railscast - http://railscasts.com/episodes/221-subdomains-in-rails-3.
这是好事,但我也希望为用户提供将自己的域名与其帐户相关联的选项.因此,虽然他们可能有http://userx.mydomain.com,但我希望他们选择将http://userx.com关联起来.
我在Rails 2中找到了一些参考,但这些技术似乎不再起作用了(特别是这一个:http://feefighters.com/devblog/2009/01/21/hosting-multiple-domains-from -a-single-rails-app /).
任何人都可以推荐一种方法来使用路由接受任意域并将其传递给控制器,以便我可以显示相应的内容?
更新:我现在得到了大部分答案,感谢Leonid的及时回复,以及对代码的全新审视.它最终需要添加我正在使用的现有子域代码(来自Railscast解决方案),然后向routes.rb添加一些内容.我还没到那里,但我想发布到目前为止我所拥有的内容.
在lib/subdomain.rb中:
class Subdomain
def self.matches?(request)
request.subdomain.present? && request.subdomain != "www"
end
end
class Domain
def self.matches?(request)
request.domain.present? && request.domain != "mydomain.com"
end
end
Run Code Online (Sandbox Code Playgroud)
我已经添加了第二类模仿第一类,这是已知的工作.我只是添加一个条件,确保传入的域不是我主持主站点的域.
此类用于routes.rb:
require 'subdomain'
constraints(Domain) do
match '/' => 'blogs#show'
end
constraints(Subdomain) do
match '/' => 'blogs#show'
end
Run Code Online (Sandbox Code Playgroud)
在这里,我在前面添加现有的子域代码(再次,它工作正常)和一个节来检查域.如果此服务器响应该域并且它不是主站点运行的域,则转发到指定的控制器.
虽然这似乎有效,但我还没有完成整个工作,但我认为这个问题已经解决了.
c ×3
asp.net-mvc ×1
assembly ×1
c++ ×1
css ×1
eclipse ×1
fork ×1
function ×1
glibc ×1
gnu ×1
java ×1
javascript ×1
jquery ×1
mediator ×1
mvvm-light ×1
namespaces ×1
organization ×1
python ×1
routes ×1
routing ×1
servlets ×1
subdomain ×1
telerik-mvc ×1
unix ×1
windows ×1
wpf ×1
wtforms ×1