2010-03-28 61 views
0

我想为sharepoint创建一个自定义的新项目页面,但有两个接近,我在自定义页面中哪种方法更好?

可以使用,我想分享你的经验,在确定哪个更好。

:是在一个库中创建一个页面,然后创建一个C#库项目来处理页面上的控件的

的事件。

第二:是定义内容类型我的列表的功能,并指定新

项目的形式是我的自定义窗体,然后创建一个包含自定义形式的网站,并把

此网站在布局文件夹中。

对我来说,第一种方法是好的,但问题是,用户可以访问默认的,我不希望发生

的SharePoint新项目的形式。

但我不喜欢将表单放在网站上的图书馆的想法。

那么哪个更适合您?

谢谢

回答

0

我建议你与你的第二个方法去...

创建一个全新的功能,可以让你这个添加创建页面的functionalty和realted以任何定制和部署到12蜂巢文件夹功能作为一项新功能,每次您想要创建这样的页面时,您都可以使用此模板并创建页面...

0

嗯,坦率地说,我很困惑你的两个建议。 我不明白第一个人会如何工作。

而第二个;你不“把网站放在布局文件夹中”。

这里就是我会建议你做:

  1. 下载并安装WSS Extensions for Visual Studio
  2. 使用这些新模板创建列表定义。
  3. 复制12配置单元中的NewForm.aspx并自定义它。
  4. 从Codeplex.com下载并安装WSP Builder
  5. 将您的自定义列表定义和文件添加到WSP Builder中的新功能项目。
  6. 使用WSP Builder将功能打包到一个.wsp文件中,您可以轻松完成。

我认为您的自定义页面应放置在您的自定义文件夹中。
希望这会有所帮助。

+0

感谢Magnus 但我想在我的页面中使用自定义代码。 所以你提到的方法不符合我的要求。 – 2010-03-29 13:01:59

+0

@Mina。对不起,但您尚未在您的问题中指定该要求。 – 2010-03-29 15:08:48

0

您对第一种方法的担忧是人们仍然可以访问默认表单。如果您不反对为内容类型定义使用自定义控件模板,我建议创建一个非常简单的重定向控件模板并将其分配给内容类型的“新窗体”。这样的控件模板只需要包含一个自定义控件,该控件具有只包含多少Page.Response.Redirect调用的OnInit或OnLoad方法。将重定向点设为您在第一种方法中创建的页面,现在,无论何时任何人尝试访问该内容类型的默认新表单,它们都会转到您的自定义页面,并包含所有自定义代码。这可能有点破绽,但它绝对有用。