小编Sté*_*ane的帖子

MVC2中的Html.Partial(视图,模型)和Html.RenderPartial(视图,模型)之间有什么区别(如果有的话)?

除了它返回的类型以及你当然以不同方式调用它的事实

<% Html.RenderPartial(...); %>
<%= Html.Partial(...) %>  
Run Code Online (Sandbox Code Playgroud)

如果它们不同,你为什么要打电话给一个而不是另一个?
定义:

// Type: System.Web.Mvc.Html.RenderPartialExtensions
// Assembly: System.Web.Mvc, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
// Assembly location: C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 2\Assemblies\System.Web.Mvc.dll

using System.Web.Mvc;

namespace System.Web.Mvc.Html
{
    public static class RenderPartialExtensions
    {
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, ViewDataDictionary viewData);
        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model);

        public static void RenderPartial(this HtmlHelper htmlHelper, string partialViewName, object model,
                                     ViewDataDictionary viewData);
    }
}

// …
Run Code Online (Sandbox Code Playgroud)

asp.net asp.net-mvc-2

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

是否更好地使用Enumerable.Empty <T>()而不是新的List <T>()来初始化IEnumerable <T>?

假设你有一个人类:

public class Person
{
   public string Name { get; set;}
   public IEnumerable<Role> Roles {get; set;}
}
Run Code Online (Sandbox Code Playgroud)

我显然应该在构造函数中实例化角色.现在,我曾经使用像这样的List:

public Person()
{
   Roles = new List<Role>();
}
Run Code Online (Sandbox Code Playgroud)

但我在System.Linq命名空间中发现了这种静态方法

IEnumerable<T> Enumerable.Empty<T>();
Run Code Online (Sandbox Code Playgroud)

来自MSDN:

Empty(TResult)()方法缓存一个空的序列TResult.当它返回的对象被枚举时,它不会产生任何元素.

在某些情况下,此方法对于将空序列传递给用户定义的方法非常有用 IEnumerable(T).它还可以用于为诸如的方法生成中性元素Union.有关此用法的示例,请参阅示例部分

那么编写这样的构造函数会更好吗?你用它吗?为什么?如果没有,为什么不呢?

public Person()
{
   Roles = Enumerable.Empty<Role>();
}
Run Code Online (Sandbox Code Playgroud)

c# linq constructor

133
推荐指数
7
解决办法
3万
查看次数

如何将哈希表传递给PowerShell中的函数?

将哈希表传递给我的PowerShell函数时,它会抱怨它收到一个对象.

Function ExtendHash(){
  param(
    [hashtable] $source,
    [hashtable] $extender
  )
  ...
}
Run Code Online (Sandbox Code Playgroud)

和来电者:

$hash1 = @{One = 1; Two = 2}
$hash2 = @{Two = 22; three = 3}
ExtendHash($hash1, $hash2)
Run Code Online (Sandbox Code Playgroud)

无法将System.Object []类型的System.Object []值转换为System.Collection.Hashtable类型

那我该怎么做呢?建议?

另外,我错过了内置的东西吗?我想要与JavaScript用于扩展默认选项(合并和覆盖默认值)相同的模式.

powershell hashtable

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

何时/为什么我不应该在我的DataContracts上使用IsReference = true?

我理解什么是属性IsReference以及它正在做什么.但我不明白为什么/当我应该使用它.什么时候使用IsReference = true是个坏主意?

如果我的wcf服务是.net到.net,是否有充分的理由设置IsReference = true?

wcf datacontract datacontractserializer

14
推荐指数
2
解决办法
7678
查看次数

如何使用linq按自定义类型进行分组

我有这门课

public class Item
{
       public Coordinate coordinate { get; set; }
        ...
        ...
}
Run Code Online (Sandbox Code Playgroud)

使用Coordinate定义如下:

public class Coordinate
{
        public Coordinate(float latitude, float longitude)
        {
            Latitude = latitude;
            Longitude = longitude;
        }

        public float Latitude { get; private set; }
        public float Longitude { get; private set; }
}
Run Code Online (Sandbox Code Playgroud)

我希望有一个像这样的linq查询:

var grouped = from it in items
              group it by it.Coordinate into grp
              select grp;
Run Code Online (Sandbox Code Playgroud)

正如MSDN在这里提到的,如果我在Coordinate类上重写Equals,我认为这是可能的:

如果必须将查询变量传递给另一个方法,请使用命名类型.使用键的自动实现属性创建一个特殊类,然后重写Equals和GetHashCode方法.您也可以使用结构,在这种情况下,您不必严格地覆盖这些方法.有关更多信息,请参见如何:实现具有自动实现属性的不可变类

等于Coordinate类的实现:

public override bool Equals(object obj)
{
       var coord = obj …
Run Code Online (Sandbox Code Playgroud)

.net linq group-by

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

在ASP.NET中拒绝用户时,'CustomIdentity'上的SerializationException

我尝试在现有数据库的基础上实现ASP.NET身份验证和授权.我们有一个网站调用webservice来获取其数据.要使用Web服务,我需要提供用户名和密码.知道这一点,我决定实施IIdentity和IPrincipal来存储加密的密码,并能够在执行webservice调用时提供它.在将来,我们可能希望使用更多asp.net的内置安全性,因此我实现了成员资格和角色提供程序并覆盖了我需要的内容(ValidateUser和GetRoles)尽管在验证用户之后感谢会员提供商实现我仍然将自己的CustomIdentity设置为Context.User,以便能够在需要时检索其密码.

只要允许用户访问该页面,它就能正常工作.但是当用户被拒绝时,框架会在我的CustomIdentity上抛出序列化异常,而不是抛出AccessDeniedException.我发现了一个非常相似的行为,此链接中描述了更多细节,但没有回复.

我的例外情况与上面的链接完全相同


Type is not resolved for member'CW.CustomAuthentication.CWIdentity,CW.CustomAuthentication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.Serialization.SerializationException: Type is not resolved for member 'CW.CustomAuthentication.CWIdentity,CW.CustomAuthentication, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

Source Error:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of …
Run Code Online (Sandbox Code Playgroud)

serialization asp.net-membership iprincipal access-denied iidentity

8
推荐指数
2
解决办法
9238
查看次数

当你独自在一个项目上工作时,你如何激励自己?

我在一个非常小的团队(仅限3个开发人员)的环境中工作,我们每个人都被分配了一个不同的项目,而不计算支持任务.我知道这是一个糟糕的商业行为,我们应该一次只处理一个项目,然后转到下一个项目(已经向管理层解释了它有多糟糕).

所以不要回答我,我们应该一次在一个项目上一起工作.在团队中工作时充满活力主要是结对编程,当我们向我们投掷较少的项目时,我们做到了这一点.

我想知道的是,当你独自在一个项目上工作时,你是如何激励你的工作的.
你是否遵循任何特定的做法

编辑

我们已经在整个公司进行了每日站立会议,我在撰写关于与软件质量相关的敏捷软件开发实践的硕士论文时,实施了几次"敏捷"仪式.而且,DID可以改善员工的整体参与度.
我所追求的是

做法

任何人都可以申请,而不是主观质疑开发者的激情.

performance development-environment project

7
推荐指数
2
解决办法
1191
查看次数

我可以使用DebuggerStepThrough属性标记的方法中断吗?

DebuggerStepThrough属性告诉调试器跳过该方法,但如果我真的想要介入它,并且我不想删除该属性该怎么办?

在Visual Studio中有没有办法做到这一点?

.net debugging visual-studio-2010

6
推荐指数
1
解决办法
371
查看次数

有没有办法在使用mongodb/mongoid排序时将所有nil值放在最后?

真的没什么可说的,而不是问题中的内容.

使用mongoid:

People.asc(:age)
Run Code Online (Sandbox Code Playgroud)

我先得到零值.
有没有办法总是最后返回nil ,或者告诉mongodb将nil视为非常高?

完全像在这里sql中的相同问题的答案

ruby mongodb mongoid

6
推荐指数
1
解决办法
2550
查看次数

将主键添加到具有现有聚簇索引的表

我必须使用数据库来进行报告数据库非常大:416 055 104行每行非常轻,但只是布尔值和int id.

每行由3列标识,但令我惊讶的是,它上面没有主键.仅具有唯一约束的聚簇索引.

所以知道,我有两个问题.

  1. 这有什么好的理由吗?
  2. 有什么办法可以把它变成主键.

关于问题2

创建新主键还会创建要与之关联的非聚集索引(已存在已存在的聚簇索引).
不是我想要的.我想保留相同的索引,但也使它成为主键.

  • 可能吗?
  • 再次创建整个索引会更快吗?(希望如此)
  • 可能是什么后果?(锁定?崩溃?数据损坏?)

primary-key alter clustered-index sql-server-2008

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