Asp.net Sharepoint上ASPX页面中的条件显示

Asp.net Sharepoint上ASPX页面中的条件显示,asp.net,sharepoint,Asp.net,Sharepoint,我想知道这种情况下的最佳做法是: 我有一个Sharepoint网站(MOSS2007),上面有一个ASPX页面。但是,我不能使用任何内联源,事件处理程序之类的东西也不起作用,因为Sharepoint不允许在默认情况下在ASPX页面上使用服务器端脚本 两种解决方案: 根据更改web.config中的PageParserPath 创建所有控件并将它们连接到.CS文件中的事件,从而完全消除ASP.net的一些优点 我想知道,最好的做法是什么?第一,看起来这是正确的选择,但只要有可能,我希望尽量少用

我想知道这种情况下的最佳做法是:

我有一个Sharepoint网站(MOSS2007),上面有一个ASPX页面。但是,我不能使用任何内联源,事件处理程序之类的东西也不起作用,因为Sharepoint不允许在默认情况下在ASPX页面上使用服务器端脚本

两种解决方案:

  • 根据更改web.config中的
    PageParserPath

    
    
  • 创建所有控件并将它们连接到.CS文件中的事件,从而完全消除ASP.net的一些优点


  • 我想知道,最好的做法是什么?第一,看起来这是正确的选择,但只要有可能,我希望尽量少用web.config。ASPX页面做什么?它增加了什么功能?如何将页面添加到站点中?从外观上看,这只是文档库中的“Web部件页”

    我必须做一些研究才能达到100%,但我的理解是,内联代码是可以的,只要它在一个页面中仍然是虚幻的,因此是可信的。您可以通过功能将您的功能添加到站点中吗


    我会避免选择1,这对我来说似乎是个坏建议。允许在页面中使用服务器端代码是一种安全风险,因为这样可能会有人插入恶意代码。当然,您可以保护该页面,但我们讨论的远程执行可能有一些非常严重的权限。

    ASPX页面做什么?它增加了什么功能?如何将页面添加到站点中?从外观上看,这只是文档库中的“Web部件页”

    我必须做一些研究才能达到100%,但我的理解是,内联代码是可以的,只要它在一个页面中仍然是虚幻的,因此是可信的。您可以通过功能将您的功能添加到站点中吗


    我会避免选择1,这对我来说似乎是个坏建议。允许在页面中使用服务器端代码是一种安全风险,因为这样可能会有人插入恶意代码。当然,您可以保护该页面,但我们讨论的远程执行可能有一些非常严重的权限。

    好吧,这是一个承载用户控件的页面。这是一个自定义的.aspx页面,将在网站上创建,特别是因为我不想创建Web部件


    它本质上是一个在Sharepoint中运行的应用程序,利用列表和其他功能,但所有功能只在应用程序中有用,因此我希望避免在web部件库中充斥无数只在一个位置工作的web部件。

    好吧,它是一个承载用户控件的页面。这是一个自定义的.aspx页面,将在网站上创建,特别是因为我不想创建Web部件


    它本质上是一个在Sharepoint中运行的应用程序,利用列表和其他功能,但所有功能仅在应用程序中有用,因此,我希望避免让无数只在一个地方工作的web部件充斥web部件库。

    因此,在这种情况下,我会将其封装在一个功能中,并通过一个解决方案进行部署。这样我想你会避免你所看到的问题。如果您计划在其他站点中也使用此功能,这一点尤其有用


    您还可以直接在页面中嵌入web部件,就像您进行网络控制一样,从而避免任何图库混乱。

    因此,在这种情况下,我会将其封装在功能中,并通过解决方案进行部署。这样我想你会避免你所看到的问题。如果您计划在其他站点中也使用此功能,这一点尤其有用


    您还可以直接在页面中嵌入web部件,就像您进行网络控制一样,从而避免任何画廊混乱。

    谢谢。我已经成功地尝试了Andrew Connel的解决方案:

    将其包装到解决方案中是其中的一部分,但主要问题是如何将代码放入其中,而且它更倾向于选项2,而不必在代码中创建控件

    我错过了什么:

    在.cs文件中,需要手动添加“protected Button Trigger;”内容,因为使用类库时没有自动生成的.designer.cs文件。

    谢谢。我已经成功地尝试了Andrew Connel的解决方案:

    将其包装到解决方案中是其中的一部分,但主要问题是如何将代码放入其中,而且它更倾向于选项2,而不必在代码中创建控件

    我错过了什么:
    在.cs文件中,需要手动添加“protected Button Trigger;”内容,因为在使用类库时没有自动生成的.designer.cs文件

    <PageParserPaths>
    <PageParserPath VirtualPath="/pages/test.aspx" 
            CompilationMode="Always" AllowServerSideScript="true" />
    </PageParserPaths>