我遇到了MVC3 MusicStore教程的问题.它使用Truncate方法定义HtmlHelper.助手看起来像这样:
using System.Web.Mvc;
namespace MusicStore.Helpers
{
public class HtmlHelpers
{
public static string Truncate(this HtmlHelper helper, string input, int length)
{
if (input.Length <= length)
{
return input;
}
else
{
return input.Substring(0, length) + "...";
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
在视图中,我使用导入它@using MusicStore.Helpers,然后尝试使用它<td>@Html.Truncate(item.Title, 25) </td>
然而,编译器告诉我没有这样的方法(Truncate)存在,并且似乎在IEnumerable [MvcMusicStore.Models.Album](这是我的模型)而不是在我的HtmlHelpers类上寻找Truncate.
(注意,上面的方括号在我的代码中实际上是有角度的括号,无法逃脱它们)
谁能告诉我,我做错了什么?
我有一个模特:
class Item < ActiveRecord::Base
Run Code Online (Sandbox Code Playgroud)
物品有物业'商店'
根据store的值,我希望Item对象对特定方法有不同的行为.
在Rails中是否有一个共同的设计模式?如果方法中没有大的if-else语句,这怎么干净呢?
我有以下表格:binders,docs,users,docs_users.Doc belongsTo Binder,Doc hasAndBelongsToMany User.
我想为当前登录的用户(docs_users表中的关联user_id)获取绑定器及其关联的文档.
我尝试过Containable并找到('all')连接,条件等,但我无法弄清楚如何从docs_users表中没有关联的用户中删除Docs.
此代码不起作用:
$binders = $this->Binder->find(
'all',
array(
'joins' => array(
array(
'table' => 'binders_users',
'alias' => 'BindersUser',
'type' => 'inner',
'foreignKey' => false,
'conditions'=> array(
'BindersUser.binder_id = Binder.id',
'BindersUser.user_id = ' . $this->Auth->user('id')
)
),
array(
'table' => 'docs',
'alias' => 'Doc',
'type' => 'left',
'foreignKey' => false,
'conditions'=> array(
'Doc.binder_id = Binder.id',
)
),
array(
'table' => 'docs_users',
'alias' => 'DocsUser',
'type' => 'left',
'foreignKey' => false,
'conditions'=> array(
'DocsUser.doc_id = Doc.id',
'DocsUser.user_id …Run Code Online (Sandbox Code Playgroud) 我有两节课.ManagingViewController,NSViewController的子类,以及ViewController,一个子类auf ManagingViewController.在Viewcontroller中,我有一个NSTextField,我想成为第一个响应者,但我没有管理它.
因此,除了设置为firstResponder的NSTextField之外,它几乎与Hillegass的书"Cocoa Programming for Mac OS X"(下载本书的示例)中的第29章相同.
有人能指出我正确的方法吗?
我正在进行如下查询:
SELECT
*
FROM a
WHERE DATEDIFF(D, a.DateValue, DateTimeNow) < 3;
Run Code Online (Sandbox Code Playgroud)
并没有工作
我试图获取不超过3天的数据.
SQL服务器.
这该怎么做?
DATEDIFF工作太慢..
我想抛出一个参数错误,如果一个特定的函数在没有传递值的情况下不起作用,该值也恰好是包含该函数的类的公共常量.
无论如何要确定一个类是否拥有一个公共常量而不是必须通过所有这些来迭代?
这样的事情:
public static const HALIFAX:String = "halifax";
public static const MONTREAL:String = "montreal";
public static const TORONTO:String = "toronto";
private var cityProperty:String;
public function set city(value:String):void
{
if (!this.hasConstant(value))
throw new ArgumentError("set city value is not applicable.");
cityProperty = value;
}
public function get city():Strig
{
return cityProperty;
}
Run Code Online (Sandbox Code Playgroud)
目前,对于这个功能,我必须编写像这样的城市设定函数:
public function set city(value:String):void
{
if (value != HALIFAX && value != MONTREAL && value != TORONTO)
throw new ArgumentError("set city value is not applicable.");
cityProperty = value; …Run Code Online (Sandbox Code Playgroud) 我有一个非常简单的单元测试,用于测试通用List<SelectListItem>.
[TestMethod()]
public void PopulateSelectListWithSeperateTextAndValueLists()
{
//Arrange
SetupDisplayAndValueLists();
bool allOption = false;
//Act
List<SelectListItem> result = ControllerHelpers.PopulateSelectList(valueList, displayList, allOption);
//Assert
Assert.AreEqual(expected, result);
}
Run Code Online (Sandbox Code Playgroud)
断言总是返回 false,即使我已经检查并确认两个对象具有相同的确切值。
当单元测试返回泛型结果时,是否有任何特殊考虑?
更新了新的测试及其状态
Assert.AreEqual(4, result.Count); //passes
Assert.AreEqual(result[0].Text, expected[0].Text, "0 element is not found");//passes
Assert.AreEqual(result[1].Text, expected[1].Text, "1 element is not found");//passes
Assert.AreEqual(result[2].Text, expected[2].Text, "2 element is not found");//passes
Assert.AreEqual(result[3].Text, expected[3].Text, "3 element is not found");//passes
Assert.AreEqual(result[0].Value, expected[0].Value, "0 element is not found");//passes
Assert.AreEqual(result[1].Value, expected[1].Value, "1 element is not found");//passes
Assert.AreEqual(result[2].Value, expected[2].Value, "2 element is not …Run Code Online (Sandbox Code Playgroud) 我知道有可能创建一个2D ArrayList ArrayList<ArrayList<E>>,但这很麻烦,而且在添加和检索对象时是一个真正的铸造噩梦.
是否有任何2D ArrayList类可以更有效地执行此类操作?我正在从头开始编写一个真正的2D ArrayList类,我想知道是否有其他人以有效的方式完成了这类事情.
我希望拥有一个多用户系统(基于Linux),只使用一个带有多个屏幕的X11会话和一对鼠标和键盘.因此,两个(或更多)人可以使用相同的计算机共享不仅相同的硬件而且共享相同的"屏幕"(当然,它将被分成两个物理屏幕,但您可以将窗口移动到您的伙伴身上. ..).共享窗口不仅可以更方便地"显示"您的合作伙伴您所做的事情 - 如果用户A开始使用复杂的应用程序处理某些事情(断言保存文件并打开它们不方便另一个会话)将应用程序的窗口移动到用户B应该就像在自己的屏幕中移动窗口一样简单.这就是我称之为"无缝"多用户会话的原因.
我在这篇文章中读到了X11"多座位",它没有我想要的功能.它为每个用户使用会话而不是一个会话.
我发现XI2又名Xinput2,它提供了多指针支持.这允许具有由两只小鼠控制的两个单独的鼠标指针.我读到你可以为两只鼠标分配两个键盘,提供独立的焦点和文本输入.但我想知道剪贴板("真实"和"鼠标中键"剪贴板)是否也被单独处理......我发现只有少数关于XI2多指针功能但没有"现场报告"的信息.
另一个完全不同的想法是在计算机上有两个独立的X11会话,但在两个会话之间使用X11-forward共享窗口.但是:据我所知,你不能共享一个转发X11的窗口,以便用户A运行一个应用程序,当它运行时,将窗口发送给用户B.据我所知,只有用户B可以在硬件上运行一个应用程序用户A并在其自己的X11会话上显示窗口.那也不是我想要的......或者我错了,可以在应用程序启动后通过X11转发转发窗口吗?
编辑:我刚刚发现XPRA类似于X11转发,但允许从/向X11会话分离和附加正在运行的应用程序.我现在试一试.
完成任何其他想法?
sql ×2
sql-server ×2
arraylist ×1
arrays ×1
asp.net-mvc ×1
cakephp ×1
cakephp-1.3 ×1
cocoa ×1
constants ×1
datetime ×1
generics ×1
java ×1
linux ×1
mstest ×1
objective-c ×1
projection ×1
razor ×1
ruby ×1
unit-testing ×1
x11 ×1
xinput ×1