小编Bor*_*ens的帖子

使用asp.net mvc beta进行强类型动作链接?

我以前在预览3中可以执行以下操作

<%=Html.BuildUrlFromExpression<AController>(c => c.AnAction(par1, par2)%>
Run Code Online (Sandbox Code Playgroud)

我应该如何使用MVC Beta以强类型方式创建网址?到目前为止我发现的唯一的事情是

<%= Html.ActionLink("aName", "ActionName", "ControllerName")%>
Run Code Online (Sandbox Code Playgroud)

这当然不是强类型的.

c# asp.net asp.net-mvc routing

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

有人解释我Html.DropDown,它是最亲密的朋友SelectList

如果你查看我之前的问题,你可能已经注意到我没有得到SelectList和Html.DropDown().我觉得这很吸引人,我似乎是唯一一个这样的人.所以也许我应该尝试改变我的心态,或者也许有些事我不知道会清除这一切.我真的很喜欢整个MVC框架,但SelectList并不想让我满意.所以这是我的清单:

的SelectList

  • 为什么我不能在实例化后设置选定的值
  • 为什么我不能通过项目索引设置selectedValue
  • 为什么selectedvalue有时是一个字符串,有时是我放入它的类,有时候是ListItem
  • 为什么这些项目只能通过GetItems()访问
  • 为什么selectedItem和listItems的类型不匹配?
  • 为什么放在列表中的项目转换为listItem而selectedItem不是?
  • 为什么我不能在没有GetItems()方法的情况下得到项目的计数

Html.DropDownList()

  • 为什么不使用模型绑定
  • 当只有一个选项时,为什么没有违约选择的行为
  • 为什么不在源selectLIst中创建一个SelectedValue项使其成为标记项

在ppl建议我自己编写之前:
由于这将与MVC产品一起提供,我宁愿对基本控件进行正式支持,然后自行推出并拥有随之而来的所有麻烦.

asp.net-mvc selectlist drop-down-menu

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

在contentplaceholder中添加标题会添加第二个空标题标记

我的母版页在head标签中有一个contentplaceholder.

因为我希望我的页面标题代表当前页面的功能,并且因为我希望用用户的语言翻译标题,所以我在页面的head的contentplaceholder中添加了一个标题标签.除了现在出现第二个空的标题标签,当然无效之外,所有这些都很快乐.

任何想法如何解决这个问题?

asp.net-mvc title

5
推荐指数
2
解决办法
5227
查看次数

如何创建更复杂的Lucene查询字符串?

这个问题是从分拆这个问题.我的询问是双重的,但由于两者都是相关的,我认为将它们放在一起是个好主意.

  • 如何以编程方式创建查询.我知道我可以开始创建字符串并使用查询解析器解析该字符串.但是当我从其他资源中收集一些信息时,有一种编程方式可以做到这一点.
  • Lucene查询的语法规则是什么?

- 编辑 -

我将给出一个我想要的查询的需求示例:
假设我有5个字段:

  1. 名字
  2. 年龄
  3. 地址
  4. 一切

所有字段都是可选字段,最后一个字段应搜索所有其他字段.我查看每个字段,看看它是否是IsNullOrEmpty().如果不是,我想附加我的查询的一部分,以便添加相关的搜索部分.
名字和姓氏应该是完全匹配,并且比其他字段具有更多权重.年龄是一个字符串,应该完全匹配.地址可以按顺序变化.一切也可以按顺序变化.

我该怎么办呢?

lucene lucene.net full-text-search information-retrieval

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

为什么这个Lucene查询是"包含"而不是"startsWith"?

string q = "m";
Query query = new QueryParser("company", new StandardAnalyzer()).Parse(q+"*");
Run Code Online (Sandbox Code Playgroud)

将导致查询成为prefixQuery:company:a*

我仍然会得到像"舰队非洲"这样的结果,很明显A不是一开始就给我带来了不良后果.

Query query = new TermQuery(new Term("company", q+"*"));
Run Code Online (Sandbox Code Playgroud)

将导致查询成为termQuery:company:a*并且不返回任何结果.可能是因为它将查询解释为完全匹配,并且我的值都不是"a*"字面值.

Query query = new WildcardQuery(new Term("company", q+"*"));
Run Code Online (Sandbox Code Playgroud)

将返回与prefixquery相同的结果;

我究竟做错了什么?

lucene.net startswith

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

从循环中创建唯一字符串列表的最快方法?

我有一组字符串(~80 000)我只能通过hits.Doc(int).Get("fieldName")方法顺序访问.

List<string> idStrings = new List<string>();
int count = hits.Length();
for (int i = 0; i < count; i++)
{
    string idString = hits.Doc(i).Get("id");
    if (!idStrings.Contains(idString))
        idStrings.Add(idString);
}
Run Code Online (Sandbox Code Playgroud)

稍后的字符串必须是int.TryParse()'d.我认为应该有更快的方法来做到这一点.有什么建议?

.net c# optimization

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

对接口进行编码而不是实现是否会影响性能?

在日常程序中,我甚至不会考虑针对接口而不是实现编码的可能性能损失.优势大大超过了成本.所以请不要提供关于良好OOP的通用建议.

尽管如此,在这篇文章中,XNA(游戏)平台的设计者给出了他的主要论点,即没有设计他的框架的核心类来对抗界面,这意味着性能受到打击.看到它是在游戏开发的背景下,每个fps可能都很重要,我认为这是一个有效的问题要问自己.

有人有任何统计数据吗?我没有看到测试/测量这个的好方法,因为我不知道这个游戏(图形)对象应该记住什么.

oop performance interface

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

具有由lambda定义的自定义IEqualityCompare的HashSet构造函数?

目前HashSet<T>,允许您自己定义相等比较的HashSet<T>(IEqualityComparer<T> comparer)构造函数是构造函数.我想将此EqualityComparer定义为lambda.

我发现这个博客帖子已经创建了一个类,允许你通过lambda生成你的比较器,然后使用extention方法隐藏这个类的构造,例如一个Except().

现在我想用构造函数做同样的事情.是否可以通过扩展方法创建构造函数?还是有另一种方式我可以以某种方式创建一个HashSet<T>(Func<T,T,int> comparer)

--UPDATE--
为了清楚起见,这是我所要完成的徒手版本的一个片段:

HashSet<FileInfo> resultFiles = new HashSet<FileInfo>(
    srcPath.GetFiles(),
    new LambdaComparer<FileInfo>(
        (f1, f2) => f1.Name.SubString(10).Equals(f2.Name.SubString(10))));
Run Code Online (Sandbox Code Playgroud)

或更理想的

HashSet<FileInfo> resultFiles = new HashSet<FileInfo>(
    srcPath.GetFiles(),
    (f1, f2) => f1.Name.SubString(10).Equals(f2.Name.SubString(10)));
Run Code Online (Sandbox Code Playgroud)

.net c# lambda iequalitycomparer

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

在IoC模式中如何保持连接线之类的东西?

在我不断追求减少的时候,我正在检查mvc Turbine做IoC肮脏的工作.
我正在使用mvc Turbine书呆子晚餐的例子作为领导,到目前为止事情看起来相当合乎逻辑.虽然我在这里指的是涡轮机项目,但我猜测它背后的哲学是一些普遍的模式安全的一些阅读和罕见的播客,我是IoC概念的新手,我有几个问题.

到目前为止,我为每个要注册的IRepository都有一个IServiceRegistration条目
例如:

public class UserRepositoryRegistration : IServiceRegistration
{
    public void Register(IServiceLocator locator)
    {
        locator.Register<IUserRepository, UserRepository>();
    }
}
Run Code Online (Sandbox Code Playgroud)

IUserRepository的具体实现需要一些配置.类似于连接字符串的东西,或者在这种情况下是要使用的db4o文件的路径.

我应该在哪里以及向谁提供这些信息?

.net c# configuration ioc-container

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

使用'class'(或其他保留关键字)作为匿名类型的属性

好的,我找不到答案:

<%: Html.ActionLink("Click Here", "Action", null, new {class="myClass"})%>
Run Code Online (Sandbox Code Playgroud)

我想设置生成的元素的CSS类属性.

显然,C#不允许我使用"class"作为对象成员的名字.

我该怎么办?

html-helper anonymous-types asp.net-mvc-2

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