SharePoint:修改FormServer.aspx页面实现自定义逻辑

有时候,我们需要在用户打开Infopath表单的时候进行一些判断。 例如,我现在遇到一个问题就是,某些用户登陆SharePoint的时候使用的是公用帐号,但是在填写表单时肯定要有所区分。那么如何在表单打开的时候进行干预呢?答案是重写OnPreInit事件。

注意:不能在OnLoad中做,已然来不及了。 

<%@ Page 
    inherits="Microsoft.Office.InfoPath.Server.Controls.FormServerPage,Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"
    EnableSessionState="true"
    AutoEventWireup="false"
    EnableViewState="false"
    LinePragmas="false"
    Language="C#"
    ValidateRequest="true"
%>
<%@ Register Tagprefix="InfoPath" Namespace="Microsoft.Office.InfoPath.Server.Controls" Assembly="Microsoft.Office.InfoPath.Server, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>
<script runat="server">
protected override void OnPreInit(EventArgs e){
    Session["Test"]="chenxizhang";
    Response.Redirect("http://server2003:8080/Login.aspx");
}
</script>
<html>
    <head runat="server">
    </head>
    <body style="margin: 0px;overflow:auto;">
    
        <form runat="server" id="HostingForm" method="post" enctype="multipart/form-data" style="100%;">
                <InfoPath:XmlFormView id="FormControl" Style="100%;" runat="server"/>
        </form>
    </body>
</html>

原文地址:https://www.cnblogs.com/chenxizhang/p/1640133.html