问题列表 - 第47245页

SharePoint 2010:RemoveFieldRef和Inherits ="TRUE"

我创建了一个继承自OOTB SharePoint 图片内容类型的自定义内容类型.我所做的唯一自定义是添加一个简单的URL字段,并删除基类型上的两个字段.见下文:

<Elements xmlns="http://schemas.microsoft.com/sharepoint/">
    <!-- Parent ContentType: Picture (0x010102) -->
    <ContentType ID="0x0101020027f16ab27e6e45a6848c25c47aaa7053"
                 Name="Custom Picture"
                 Description=""
                 Group="Custom"
                 Inherits="TRUE"
                 Version="0">
        <FieldRefs>
            <RemoveFieldRef ID="{b66e9b50-a28e-469b-b1a0-af0e45486874}" Name="Keywords" />
            <RemoveFieldRef ID="{a5d2f824-bc53-422e-87fd-765939d863a5}"  Name="ImageCreateDate" />
            <FieldRef ID="{c29e077d-f466-4d8e-8bbe-72b66c5f205c}" Name="URL" DisplayName="URL" Required="FALSE" />
        </FieldRefs>
    </ContentType>
</Elements>
Run Code Online (Sandbox Code Playgroud)

如果我根据自定义内容类型创建图片库,我添加的"URL"字段将显示在新/编辑表单中,但是我也会显示我尝试删除的两个字段,即RemoveFieldRef被忽略.如果我查看"网站设置 - >内容类型库"中的内容类型,这两个字段仍会列在那里.

在我的自定义内容类型上设置Inherits ="FALSE"(请参阅MSDN定义)从"站点设置 - >内容类型库"页面中成功删除这两个字段,但是新的/编辑表单中没有显示任何基本字段 - 只有我自定义的"URL"字段.

我该怎么做才能确保基本"图片"内容类型的所有字段都显示在我的图片库的新/编辑表单上,除了我专门删除的两个字段?

sharepoint-2010 contenttype

7
推荐指数
1
解决办法
4408
查看次数

如何避免重复授权代码逻辑

我编写了一个从System.Web.Mvc.AuthorizeAttribute派生的自定义授权属性.我正在从我的控制器成功使用它来限制对某些功能的访问.

public class ArticleController : Controller
{
    [CustomAuthorize(Role.Administrator)]
    public ActionResult Delete(int id)
    {
       // ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这很好.现在我想根据相同的授权逻辑显示或隐藏HTML元素.例如,在我的视图"文章"中,如果用户不是管理员,我想隐藏操作按钮"删除".我写过类似的东西:

<ul id="menu">
   <li>@if (User.IsInRole(Role.Administrator)) { 
          @Html.ActionLink("Delete", "Delete", "Article", new { id = article.ID }, null)
       } </li>
</ul>
Run Code Online (Sandbox Code Playgroud)

它工作正常,但它创建了代码逻辑重复,因为我需要指定两次必要的信用来执行操作:

  • 在控制器中阻止或允许操作.
  • 在视图中显示或隐藏操作链接.

避免这种重复的最佳方法是什么?有没有办法从视图中重用我的自定义授权属性?

asp.net-mvc authorization asp.net-mvc-3

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

WPF选项卡控件阻止选项卡更改

我正在尝试为我的应用程序开发一个系统维护屏幕,其中我有几个选项卡,每个选项卡代表不同的维护选项,即维护系统用户等.一旦用户点击edit/new来更改现有记录,我想阻止导航离开当前标签,直到用户点击保存或取消.

经过一些谷歌搜索后,我发现了一个链接http://joshsmithonwpf.wordpress.com/2009/09/04/how-to-prevent-a-tabitem-from-being-selected/这似乎解决了我的问题,或者是我想.

我试过实现这个,但我的事件似乎永远不会发生.以下是我的XAML.

<TabControl Name="tabControl">
    <TabItem Header="Users">
        <DockPanel>
            <GroupBox Header="Existing Users" Name="groupBox1" DockPanel.Dock="Top" Height="50">
                <StackPanel Orientation="Horizontal">
                    <Label Margin="3,3,0,0">User:</Label>
                    <ComboBox Width="100"  Height="21" Margin="3,3,0,0"></ComboBox>
                    <Button Width="50" Height="21" Margin="3,3,0,0" Name="btnUsersEdit" Click="btnUsersEdit_Click">Edit</Button>
                    <Button Width="50" Height="21" Margin="3,3,0,0" Name="btnUsersNew" Click="btnUsersNew_Click">New</Button>
                </StackPanel>
            </GroupBox>
            <GroupBox Header="User Information" Name="groupBox2">
                <Button Content="Cancel" Height="21" Name="btnCancel" Width="50" Click="btnCancel_Click" />
            </GroupBox>
        </DockPanel>
    </TabItem>
    <TabItem Header="User Groups">

    </TabItem>        
</TabControl>
Run Code Online (Sandbox Code Playgroud)

这是我的代码

public partial class SystemMaintenanceWindow : Window
{

    private enum TEditMode { emEdit, emNew, emBrowse }

    private TEditMode _EditMode = TEditMode.emBrowse;        

    private TEditMode …
Run Code Online (Sandbox Code Playgroud)

c# wpf

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

文件 URI 的 UNC 路径

如何将 UNC 路径转换为文件 URI。对于我的应用程序,用户将在测试框中给出如下的 css UNC 路径:

\\egng4573\D$\CSS\Style.css
Run Code Online (Sandbox Code Playgroud)

我怎样才能将其更改为:

file:///D:/CSS/Style.css
Run Code Online (Sandbox Code Playgroud)

这样firefox和IE都可以从所需的路径访问css并应用于它们..请告诉....

uri file unc

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

我如何使用Google Guava的Throwables.propagateIfInstanceOf()?

javadoc示例

  try {
    someMethodThatCouldThrowAnything();
  } catch (IKnowWhatToDoWithThisException e) {
    handle(e);
  } catch (Throwable t) {
    Throwables.propagateIfInstanceOf(t, IOException.class);
    Throwables.propagateIfInstanceOf(t, SQLException.class);
    throw Throwables.propagate(t);
  }
Run Code Online (Sandbox Code Playgroud)

不是很具体.真正的程序会是什么样子?我真的不明白的方法的目的Throwables.propagateIfInstanceOf(Throwable, Class),propagate(),propagateIfPossible().我什么时候使用它们?

java guava

14
推荐指数
1
解决办法
4289
查看次数

有没有办法有效地产生包含数百万个文件的目录中的每个文件?

我知道os.listdir,但据我所知,它将目录中的所有文件名都存入内存,然后返回列表.我想要的是一种产生文件名,处理它,然后产生下一个文件名的方法,而不是将它们全部读入内存.

有没有办法做到这一点?我担心文件名更改,添加新文件以及使用此类方法删除文件的情况.一些迭代器阻止您在迭代期间修改集合,主要是通过在开始时获取集合状态的快照,并在每个move操作上比较该状态.如果有一个迭代器能够从路径中产生文件名,那么如果有文件系统更改(添加,删除,重命名迭代目录中的文件)修改集合会引发错误吗?

可能有一些情况可能导致迭代器失败,这一切都取决于迭代器如何维持状态.使用S.Lotts示例:

filea.txt
fileb.txt
filec.txt
Run Code Online (Sandbox Code Playgroud)

迭代器产量filea.txt.期间processing,filea.txt被重命名为filey.txtfileb.txt被重命名为filez.txt.当迭代器试图获取下一个文件时,如果要使用文件名filea.txt找到它的当前位置以便找到下一个文件filea.txt而不存在,会发生什么?它可能无法恢复它在集合中的位置.类似地,如果迭代器fileb.txt在屈服时要获取filea.txt,它可能会查找fileb.txt,失败并产生错误的位置.

如果迭代器能够以某种方式维护索引dir.get_file(0),那么维护位置状态不会受到影响,但是一些文件可能会被遗漏,因为它们的索引可以被移动到迭代器"后面"的索引.

这当然是理论上的,因为似乎没有内置(python)方法迭代目录中的文件.但是,下面有一些很好的答案可以通过使用队列和通知来解决问题.

编辑:

关注的操作系统是Redhat.我的用例是这样的:

进程A不断将文件写入存储位置.进程B(我正在写的那个)将迭代这些文件,根据文件名进行一些处理,并将文件移动到另一个位置.

编辑:

有效的定义:

形容词1.良好的基础或合理的,相关的.

(对不起S.Lott,我无法抗拒).

我已经编辑了上面的段落.

python yield file list

12
推荐指数
5
解决办法
4231
查看次数

HTML UL中的交替背景颜色

我想在使用JQuery的情况下在HTML无序列表中交替使用背景颜色.

html javascript css

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

为什么要释放已经设置为nil的属性?

以下是Apple教程中视图控制器中的两种方法:

- (void)viewDidUnload {
    self.eventsArray = nil;
    self.locationManager = nil;
    self.addButton = nil;
}

- (void)dealloc {
    [managedObjectContext release];
    [eventsArray release];
    [locationManager release];
    [addButton release];
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

这个dealloc方法不能缩短到以下几点吗?如果没有,为什么不呢?

- (void)dealloc {
    [managedObjectContext release];
    [super dealloc];
}
Run Code Online (Sandbox Code Playgroud)

objective-c ios

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

是否可以将Selenium与包含WebBrowser对象的C#窗体一起使用?

我想知道是否可以将Selenium与包含WebBrowser对象的C#Windows窗体一起使用.

我正在使用selenium,我可以使用Selenium脚本记录创建测试用例; 我只想确定是否可以导出C#代码并让它们都在C#环境中运行.我感谢任何想法或解释.

更新 我得到了Selenium打开包含WebBrowser组件的WinForm的观点.但是从那里我的测试将不会执行.看起来它不懂selenium命令.我没有看到任何错误消息被抛出.嗯

事情是winformWithWebBrowserTest打开带有webbrowser的winForm的.exe.但没有任何反应.下面的代码是启动.exe的代码

测试代码(Selenium命令)

namespace ClassLibrary1
{
    class Class2
    {
        private ISelenium selenium;
        private StringBuilder verificationErrors;

        [SetUp]
        public void SetupTest()
        {

            selenium = new DefaultSelenium
                ("localhost", 4444, "*custom C:\\Users\\m-tak\\Documents\\Visual Studio 2010\\Projects\\winformWithWebBrowserTest\\winformWithWebBrowserTest\\bin\\Release\\winformWithWebBrowserTest.exe", "http://www.livemocha.com");

            selenium.Start();
            verificationErrors = new StringBuilder();
        }

        [TearDown]
        public void TeardownTest()
        {
            selenium.Stop();
        }

        [Test]
        public void TheUntitledTest()
        {
            //nothing here gets executed :(
            Console.WriteLine("foobar front");
            selenium.Open("/");
            Console.WriteLine("foobar");
            selenium.WaitForPageToLoad("30000");
            selenium.Open("/users/logout");
            selenium.Open("/users/login");


        }

    }
}
Run Code Online (Sandbox Code Playgroud)

.可执行程序

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form …
Run Code Online (Sandbox Code Playgroud)

.net selenium webbrowser-control winforms

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

如何在不改变任何引脚的情况下在linux中打开串口?

Posix需要在端口打开时更改RTS引脚.我想要一种避免它的方法.

linux posix serial-port

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