小编JL.*_*JL.的帖子

Sharepoint 2010分类法未正确过滤

我在Sharepoint 2010中有一个奇怪的分类过滤,但我可以在所有3台服务器上复制它.

以下是该场景的演绎方式:

  1. 拥有一个包含许多子节点(大约4500)的完全填充的termSet.
  2. 添加1个自定义列表,包含2个字段(标题和托管元数据字段,此链接到termSet) - 所有这些都使用GUI完成.
  3. 手动添加列表项(或一对),并选择一个术语来填充元数据字段(树结构中的深度约为4个节点)
  4. 根据这个术语测试列表中的过滤 - 就像一个魅力.

现在,此时我运行我的导入作业,将项目添加到另一个列表.第二个列表还有一个指向termSet的托管元数据字段.

  1. 添加1000项,没问题.奇迹般有效
  2. 再添1000,没问题.
  3. 出现在2000左右和4500个项目出错的地方,因为在运行完成后,我现在离开了以下场景:

清单1过滤不起作用.列表2过滤,绝对不起作用.

究竟发生了什么.我选择一个顶级术语,它应该包括所有子项.在大量插入使用术语集中的术语的列表项之前,它完美地完成了这一操作.在插入之后,当我选择顶级术语时,我得到一个空的设置,并且没有包含后代的按钮.

我正在调查这个隐藏的列表,这与我注意到的过滤有很大关系.过滤主要检查这一点(尚不确定如何/为什么).

其他人有这个问题吗?关于此的唯一文档来源是Microsoft Sharepoint Evangelical Blogs(Marketing),没有详细说明为什么这不起作用.

请协助.

sharepoint-2010

4
推荐指数
1
解决办法
2859
查看次数

关于继承和OOP的问题c#

我有一个持久的对象,为了这个问题,我将开车CAR类.

public class Car
{
   public string model {get;set}
   public int year {get;set}
}
Run Code Online (Sandbox Code Playgroud)

显然非常简化.

现在,随着代码的开发,我自然地创建了一个接受CAR作为参数的函数.例如:

public void PaintCar (Car theCar)
{
  //Does some work
}
Run Code Online (Sandbox Code Playgroud)

到目前为止这么好,但后来我有一个场景,我需要另一个类,这与CAR非常相似,但汽车缺少一些字段.没问题我想OOP救援,我将继承Car,最终得到:

public class SuperCar : Car
{
   public string newProp {get;set}
   // and some more properties
}
Run Code Online (Sandbox Code Playgroud)

所有的一切看起来都很好看,直到我遇到了一个非常有用的实用功能,我用来填充汽车的原始属性.

Public void SetCarProperties(Car theCar)
{
    //sets the properties for car here
}
Run Code Online (Sandbox Code Playgroud)

我想mmm,我希望我可以使用相同的函数来设置我的superCar类的属性而不需要覆盖.我也不想更改基本汽车定义以包含superCar类的所有属性.

在这一点上,我陷入了两难境地.覆盖可以工作,但这是额外的工作.有更优雅的解决方案吗?基本上我想通过超类传递给期望基类的函数.这可能与c#有关吗?

我的最终代码结果如下:

Car myCar = new Car(); 
SetCarProperties(myCar); // ALL GOOD

SuperCar mySuperCar = new SuperCar(); 
SetCarProperties(mySuperCar); // at the moment this function …
Run Code Online (Sandbox Code Playgroud)

c# oop

4
推荐指数
1
解决办法
297
查看次数

C#泛型和铸造

我在代码库中遇到了一个抛出错误的函数:

public static T InternalData<T>()
{
    return (T)"100";
}
Run Code Online (Sandbox Code Playgroud)

显然我已经简化了代码并添加了"100"作为文字字符串值.T是类型int.

它抛出一个:

System.InvalidCastException:指定的强制转换无效.

看来你不能隐含地将字符串转换为intC#,如何修复这段代码以便它可以处理转换任何泛型类型?

实际代码看起来像这样:

public static T InternalData<T>()
{
    return (T) something (not sure of type or data);
}
Run Code Online (Sandbox Code Playgroud)

c# generics casting

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

DataGrid:如何删除黑色内边框?

我有一个datagrid:

<DataGrid x:Name="gvImports" 
    HorizontalAlignment="Left" 
    AutoGenerateColumns="False" 
    Margin="10,36.816,0,0" 
    VerticalAlignment="Top" 
    Height="163.087" Width="485.05">
</DataGrid>
Run Code Online (Sandbox Code Playgroud)

然后我在C#中设置单元格边框样式:

var cellStyle = new Style(typeof(DataGridCell));
cellStyle.Setters.Add
      (new Setter(DataGridCell.BorderBrushProperty, Brushes.Magenta));
gvImports.CellStyle = cellStyle;
Run Code Online (Sandbox Code Playgroud)

请注意攻击性洋红色仅用于演示目的.

这是渲染时DataGrid的图像:

在此输入图像描述

我想摆脱那些内在的黑线,不知道这是怎么做到的?

wpf

4
推荐指数
1
解决办法
1638
查看次数

C#如何避免类型转换为子类?

假设我有一个名为Shape的基类.然后是一些子类,如圆形和方形.

然后让我们在另一个名为GetShape的类中创建一个方法:

public Shape GetShape()
{
    return new Circle();  
}
Run Code Online (Sandbox Code Playgroud)

好吧,所以我的想法是,我可以传入一个shapeType,然后返回一个强类型的Shape子类.上面的例子是对实际代码的大规模简化,但我认为它得到了重点.

那么当我调用这个方法时它会是什么样子

var shapeCreator = new ShapeCreator();
Circle myCircle = shapeCreator.GetShape(); 
Run Code Online (Sandbox Code Playgroud)

唯一的问题是它甚至不会运行,因为它需要一个演员表.

这实际上有效:

Circle myCircle = (Circle) shapeCreator.GetShape(); 
Run Code Online (Sandbox Code Playgroud)

关于那个演员,我并不狂热,我怎么能避免它,并且仍然有办法让一个方法返回一个基类,这样我就可以返回任何兼容的子类.

.net c# subtyping

4
推荐指数
1
解决办法
181
查看次数

Page.PreLoad事件未出现在visual studio中

我想知道为什么我无法在visual studio 2008中看到所有页面事件,当我点击事件组合框时,只有page_load事件在那里.如何在组合中查看所有页面生命周期事件,我可以单击它来生成事件模板?

asp.net visual-studio

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

Visual Studio代码验证

我曾经记得看到VS2008的插件或东西.它由Microsoft提供,是最佳实践的一部分.基本上每次项目构建时都会检查代码以确保所有属性都有注释等.

请有人帮我记住它的名字吗?

visual-studio-2008

3
推荐指数
1
解决办法
1323
查看次数

StyleCop和=空格

我正在运行StyleCop(如果您想提供高质量的代码,我会完全建议您这样做)...

我有这条线

[System.Xml.Serialization.XmlRootAttribute(Namespace = "", IsNullable=false)]
Run Code Online (Sandbox Code Playgroud)

更新也尝试过

[System.Xml.Serialization.XmlRootAttribute(Namespace="", IsNullable=false)] 
Run Code Online (Sandbox Code Playgroud)

StyleCop正在报告错误

Warning 2   SA1003: The spacing around the symbol '=' is invalid.
Run Code Online (Sandbox Code Playgroud)

如果这无效,那么什么有效?

stylecop

3
推荐指数
1
解决办法
2591
查看次数

eval(string)到C#代码

是否可以在运行时在C#中评估以下内容

我有一个包含3类属性(Field,Operator,Value)

 rule.Field;
 rule.Operator;
 rule.Value;
Run Code Online (Sandbox Code Playgroud)

这是我的规则类......

现在我有一个循环

foreach(item in items)
   {
       // here I want to create a dynamic expression to evaluate at runtime
       // something like
       if (item.[rule.field] [rule.operator] [rule.value])
           { do work }
   }
Run Code Online (Sandbox Code Playgroud)

我只是不知道语法,或者它是否可能在C#中,我在JS中知道它可能但是这不是编译语言.

更新

基本上我想要一种方式eval(stringCode)或更好的支持方式.

c# evaluation runtime

3
推荐指数
3
解决办法
2890
查看次数

删除IIS的只读权限

我在IIS7中创建了一个网站(虚拟目录).

现在由于某种原因,我在网站上创建了1个文件夹,它具有只读权限.无论我做什么,我都无法摆脱只读旗帜.

我试过了:

  • 删除文件夹,重新创建它 - 只读!
  • 设置权限取消选中只读 - 再次将其自动重置为只读.

iis permissions iis-7

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