小编jer*_*ith的帖子

ViewModel最佳实践

这个问题看,让控制器创建一个更准确地反映视图试图显示的模型的ViewModel似乎是有道理的,但我对一些约定感到好奇(我是MVC模式的新手) ,如果还不是很明显的话).

基本上,我有以下问题:

  1. 我通常喜欢有一个类/文件.如果仅创建将数据从控制器传递到视图,那么这对ViewModel有意义吗?
  2. 如果ViewModel确实属于它自己的文件,并且您正在使用目录/项目结构来保持独立,那么ViewModel文件属于哪里?在Controllers目录中?

这基本上就是现在.我可能会再提出一些问题,但是在最后一个小时左右这一直困扰着我,我似乎在其他地方找到了一致的指导.

编辑: 看看CodePlex 上的示例NerdDinner应用程序,它看起来像ViewModel是控制器的一部分,但它仍然让我感到不舒服,他们不在他们自己的文件中.

asp.net-mvc asp.net-mvc-viewmodel

234
推荐指数
7
解决办法
8万
查看次数

Git:什么是跟踪分支?

有人可以解释一个"跟踪分支",因为它适用于git?

这是git-scm.com的定义:

Git中的"跟踪分支"是连接到远程分支的本地分支.当您按下并拉动该分支时,它会自动推送并拉到与其连接的远程分支.

如果您始终从同一个上游分支拉入新分支,并且您不想明确使用"git pull",请使用此选项.

不幸的是,对于git和来自SVN的新手来说,这个定义对我来说绝对没有意义.

我正在阅读" Git的实用指南 "(顺便说一句好书),他们似乎建议跟踪分支是一件好事,并且在创建第一个遥控器(原点,在这种情况下)后,你应该将您的主分支设置为跟踪分支,但遗憾的是,它不包括为什么跟踪分支是一件好事,或者通过将主分支设置为原始存储库的跟踪分支而获得的好处.

有人可以赐教(英文)吗?

git version-control branch

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

如何在Rails中打印出对象的内容以便于调试?

我想我正试图让PHP等价print_r()(打印人类可读); 目前原始产量是:

ActiveRecord::Relation:0x10355d1c0
Run Code Online (Sandbox Code Playgroud)

我该怎么办?

ruby ruby-on-rails

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

如何检测rails是否位于根URL?

我想要的似乎很简单.

在我的应用程序助手中,我设置了这个

module ApplicationHelper

def isroot
if root_url 
@container = "mainbox"
else
@container = "maincontainerbox"
end
end
end
Run Code Online (Sandbox Code Playgroud)

在我的应用程序布局中,我有这个

 <div id="<%= isroot %>">
Run Code Online (Sandbox Code Playgroud)

如何查看我的申请是否在主页上.如果不做别的事.

routing ruby-on-rails

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

RegEx告诉字符串是否包含特定字符

这次容易提问.

我正在尝试测试字符串是否包含使用正则表达式的字符.我认为表达式的形式为"[^ x ]",其中x是您不想出现的字符,但这似乎不起作用.

例如,

Regex.IsMatch("103","[^0]")
Run Code Online (Sandbox Code Playgroud)

Regex.IsMatch("103&","[^&]")
Run Code Online (Sandbox Code Playgroud)

两者都返回true(我希望是假的).

我开始使用"[^&]"并认为可能需要将其作为\&进行转义,但它似乎没有任何区别.

想法?我认为它很小.

另外,我正在使用.NET,所以请记住这一点.

EDIT1:

我找到了这个,但它似乎没有回答我遇到的问题.

EDIT2:

我想回应凯文乔尔的建议.这些建议确实会更快,但是在这种情况下它们无法实现我需要的灵活性,所以如果你通过搜索找到这个问题,那么一定要看看他们的答案是否符合你的需求.在我的例子中,正则表达式被传递给DataTable验证方法,该方法遍历每一行并验证特定列中该行的内容是否与传入的RegEx匹配.因为我将重用此方法对于其他几个正在验证的DataTable,我想:

  1. 使用Regex启用最广泛的验证,以及
  2. 总是寻找一个积极的匹配(即不使用!Regex.IsMatch(cell,regexvariable),我想依靠始终能够使用Regex.IsMatch(cell,regexvariable),因为调用此方法的大多数DataTables将使用积极的匹配而不是消极的.

希望这会有所帮助.

.net regex regex-negation

34
推荐指数
3
解决办法
8万
查看次数

Javascript在下拉更改时设置隐藏的表单值

javascript新手,但我确信这很容易.不幸的是,大多数谷歌搜索结果都没有帮助.

无论如何,我想在下拉选择更改时通过javascript设置隐藏表单元素的值.

我可以使用jQuery,如果它更容易获取或设置值.

javascript jquery

32
推荐指数
3
解决办法
15万
查看次数

在Rails中的文本框中格式化日期时间

有没有一种简单的方法来格式化DateTimeRails视图中的值的显示?

例如,如果我做的事情如下:

<%= text_field :my_object, :start_date %>
Run Code Online (Sandbox Code Playgroud)

并且只想显示日期部分:start_date(即我想隐藏时间部分),有没有办法格式化:start_date视图内部的字符串,以便它可以用于创建新my_object项目和更新新my_object项目?

只是澄清一下:

<%= text_field 
       :my_object,
       :start_date,
       :value => @my_object.start_date.strftime('%m/%d/%Y') %>
Run Code Online (Sandbox Code Playgroud)

当对象已经存在时(即在项目更新时)工作得非常漂亮,但是,在创建项目时,由于start_date最初将为nil,因此视图将引发错误

while evaluating nil.strftime
Run Code Online (Sandbox Code Playgroud)

datetime ruby-on-rails

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

MSBuild - 使用.csproj文件还是自己滚动?

好的,所以我很容易承认,在持续集成方面,我是新手.

话虽这么说,我正在尝试建立一个CC.NET环境来教育自己,但是我很难找到设置自动构建部分所需的信息.

据我所知,在C#中,VS 2005和forward生成的.csproj文件一个有效的MSBuild文件.也就是说,我已经能够使用.csproj文件将MSBuild任务集成到CC.NET中,但我有一些问题:

  1. 这里有很多事情,我不确定我是否真的需要在自动构建环境中.
  2. 我没有创建这个文件.我不明白,这吓到我了.(巧合编程)
  3. 大部分正在发生的事情似乎都是通过抽象的 $(MSBuildToolsPath)\Microsoft.CSharp.targets
  4. 作为1,2和3的结果,修改文件以包含类似MbUnit的东西似乎令人费解并且比它需要的更难.我唯一真正的选择是把它包含在这个AfterBuild部分中,这对我来说似乎有点像黑客.

所以,CC.NET人员,MSBuild人员和MbUnit人员的一些问题.

  1. 使用MSBuild时,建议使用VS生成的.csproj文件作为构建文件吗?或者我应该创建自己的?
  2. MbUnit测试应该是MSBuild文件还是CC.NET文件的一部分?我的研究似乎表明它们属于MSBuild文件.如果是这种情况,我是否创建一个新的MSBuild .proj文件并检查除了.csproj文件之外的CVS?或者MbUnit任务是否成为我的.csproj文件的一部分?
  3. 与问题2类似.如果我将MbUnit测试添加到MSBuild文件并最终使用.csproj文件,那么Target Name="AfterBuild"真的是添加该信息的部分吗?不应该有一Target Name="Test"节?使用VS生成的.csproj文件似乎阻止了第二个选项.

我知道那里有很多东西,但我在网上找到的大部分内容都假设我对这些主题有一定程度的熟悉程度 - 除非我错了,这个东西的学习曲线不是根本就是一条曲线,它是一个阶梯函数.:)

编辑1:我更新了文本,使其更简洁,并解决了我对答案的一些挥之不去的问题.

cruisecontrol.net msbuild version-control mbunit continuous-integration

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

使用C#播放MIDI声音的最佳方式

我试图重建使用最开始写的旧节拍器应用MFC在C++来编写的.NET使用C#.我遇到的一个问题是播放用于表示节拍器"点击"的midi文件.

我在网上发现了一些关于MIDI在.NET中玩的文章,但是大多数文章似乎都依赖于有人拼凑在一起并提供的自定义库.我并不反对使用这些,但我宁愿自己理解这是如何完成的,因为它似乎应该是一个非常微不足道的练习.

那么,我错过了什么吗?或者在.NET应用程序中使用MIDI是否很困难?

.net c# midi

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

从C#中的计时器获取准确的刻度

我正在尝试重建一个旧的节拍器应用程序,该应用程序最初使用C++中的MFC编写,使用C#在.NET中编写.我遇到的一个问题是让计时器足够准确地"打勾".

例如,假设一个简单的BPM(每分钟节拍数)为120,则计时器应每隔0.5秒(或500毫秒)打勾.然而,使用它作为刻度的基础并不完全准确,因为.NET只能保证计时器在经过的时间过去之前不会打勾.

目前,为了解决上面使用的相同的120 BPM示例,我将刻度设置为100毫秒,并且仅在每5个计时器刻度上播放点击声.这确实提高了准确度,但如果感觉有点像黑客.

那么,获得准确滴答的最佳方法是什么?我知道有更多的计时器可用于Visual Studio中随时可用的Windows窗体计时器,但我并不熟悉它们.

.net timer

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