自定义登录页面Sharepoint 2013

时间:2014-11-20 14:20:55

标签: asp.net sharepoint-2013

我试图在sharepoint 2013中使用自定义登录页面而不是Default.aspx,但是当我将页面用作自定义登录页面时,它不会重定向,它总是说某些内容出错了Corelation ID就是这样,我也经历了LOGS,但是我没有得到关于这个错误的明确信息。

这里我附上我的.ASPX页面FYR。

<%@ Assembly Name="Microsoft.SharePoint.ApplicationPages, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c"%> 
<%@ Page Language="C#" Inherits="Microsoft.SharePoint.ApplicationPages.LoginPage"   MasterPageFile="~/TEMPLATE/LAYOUTS/simple.master"       %> 
<%@ Import Namespace="Microsoft.SharePoint.ApplicationPages" %> 
<%@ Register Tagprefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Register Tagprefix="Utilities" Namespace="Microsoft.SharePoint.Utilities" Assembly="Microsoft.SharePoint, Version=15.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %> 
<%@ Import Namespace="Microsoft.SharePoint" %>

<asp:Content ContentPlaceHolderId="PlaceHolderPageTitle" runat="server">
<SharePoint:EncodedLiteral runat="server" text="<%$Resources:wss,login_pagetitle%>" EncodeMethod='HtmlEncode'/>
</asp:Content>
<asp:Content ContentPlaceHolderId="PlaceHolderTitleBreadcrumb" runat="server">
&nbsp;
</asp:Content>

<asp:Content ContentPlaceHolderId="PlaceHolderPageTitleInTitleArea" runat="server">
<SharePoint:EncodedLiteral runat="server" text="iCube Secure Pro Portal Sign In"  EncodeMethod='HtmlEncode'/>
</asp:Content>

<asp:Content ContentPlaceHolderId="PlaceHolderSiteName" runat="server"/>

<asp:Content ContentPlaceHolderId="PlaceHolderMain" runat="server">
<asp:login id="login" FailureText="<%$Resources:wss,login_pageFailureText%>" runat=server width="100%">
 <LayoutTemplate>
     <asp:Label ID="FailureText" CssClass="ms-error" runat="server" />
     <p>
         <small>Server Time :</small>
         <input id="txtClock" type="text" size="18" name="Clock" readonly="readonly" style="border: none"><br />
         <input id="message" type="text" readonly="readonly" size="58" style="border: none; color: Red; font-size: x-small">
     </p>
     <table class="ms-input">
         <colgroup>
             <col style="width: 25%">
             <col style="width: 75%">
         </colgroup>
         <tr>
             <td style="white-space: nowrap">
                 <SharePoint:EncodedLiteral runat="server" Text="   <%$Resources:wss,login_pageUserName%>" EncodeMethod='HtmlEncode' /></td>
             <td>
                 <asp:TextBox ID="UserName" AutoCompleteType="None" runat="server" CssClass="ms-long" /></td>
         </tr>
         <tr>
             <td style="white-space: nowrap">
                 <SharePoint:EncodedLiteral runat="server" Text="<%$Resources:wss,login_pagePassword%>" EncodeMethod='HtmlEncode' /></td>
             <td>
                 <asp:TextBox ID="password" TextMode="Password" AutoCompleteType="None" runat="server" CssClass="ms-long" /></td>
         </tr>             
     </table>

     <!--<div id="silverlightControlHost" style="height: 40px; width: 600px">
         <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="520" height="22">
             <param name="source" value="ClientBin/SLlogin.xap" />
             <param name="onError" value="onSilverlightError" />
             <param name="background" value="white" />
             <param name="minRuntimeVersion" value="3.0.40624.0" />
             <param name="autoUpgrade" value="false" />
             <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40624.0" style="text-decoration: none">
                 <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style: none" />
             </a>
         </object>
         <iframe id="_sl_historyFrame" style="visibility: hidden; height: 0px; width: 0px; border: 0px"></iframe>
     </div>-->

    <table style="float: left" class="ms-input">
        <colgroup>
            <col style="width: 28%">
            <col style="width: 72%">
        </colgroup>
        <tr>
            <td style="float: right">
                <asp:Button ID="login" CommandName="Login" Text="<%$Resources:wss,login_pagetitle%>" runat="server" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
        <tr>
            <td colspan="2">
                <asp:CheckBox ID="RememberMe" Visible="false" Text="<%$SPHtmlEncodedResources:wss,login_pageRememberMe%>" runat="server" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
        </tr>
    </table>

 </LayoutTemplate>
 </asp:login>

<script type="text/javascript" src="Silverlight.js"></script>
<!--<script type="text/javascript">
    function onSilverlightError(sender, args) {
        var appSource = "";
        if (sender != null && sender != 0) {
            appSource = sender.getHost().Source;
        }

        var errorType = args.ErrorType;
        var iErrorCode = args.ErrorCode;

        if (errorType == "ImageError" || errorType == "MediaError") {
            return;
        }

        var errMsg = "Unhandled Error in Silverlight Application " + appSource + "\n";

        errMsg += "Code: " + iErrorCode + "    \n";
        errMsg += "Category: " + errorType + "       \n";
        errMsg += "Message: " + args.ErrorMessage + "     \n";

        if (errorType == "ParserError") {
            errMsg += "File: " + args.xamlFile + "     \n";
            errMsg += "Line: " + args.lineNumber + "     \n";
            errMsg += "Position: " + args.charPosition + "     \n";
        }
        else if (errorType == "RuntimeError") {
            if (args.lineNumber != 0) {
                errMsg += "Line: " + args.lineNumber + "     \n";
                errMsg += "Position: " + args.charPosition + "     \n";
            }
            errMsg += "MethodName: " + args.methodName + "     \n";
        }

        throw new Error(errMsg);
    }
</script>-->

<script runat="server" type="text/c#" >
    string ServerTime()
    {

        return System.DateTime.Now.ToString();//.ToLongTimeString();
    }    
</script>

<!--<script type="text/javascript">
<!--
/*By George Chiang (JK's JavaScript tutorial)
http://javascriptkit.com
Credit must stay intact for use*/
var Digital = new Date("<%=ServerTime() %>")
    var day = Digital.getDate()
    var month = Digital.getMonth() + 1
    var year = Digital.getFullYear()
    var seconds = Digital.getSeconds()
    var hours = Digital.getHours()
    var minutes = Digital.getMinutes()
    var thours = hours
    var nDigital = new Date("<%=ServerTime() %>")
    var one_day = 1000 * 60
    var ClientDate = new Date()
    var diff = Math.ceil(nDigital.getTime() - ClientDate.getTime()) / (one_day)
    var stime = nDigital.getTime()
    var ctime = ClientDate.getTime()

    function show() {

        seconds = seconds + 1

        /*  if (minutes <= 9)
        minutes = "0" + minutes
        if (seconds <= 9)
        seconds = "0" + seconds*/
        if (seconds == 60) {
            minutes = minutes + 1
            seconds = 0
        }
        if (minutes == 60) {
            hours = hours + 1
            minutes = 0
            thours = hours
        }
        var dn = "AM"
        if (hours == 12) {
            dn = "PM"
        }
        if (hours > 12) {
            dn = "PM"
            thours = hours - 12
        }
        if (hours == 24) {
            dn = "AM"
        }
        if (thours == 12 && minutes == 0 && seconds == 0 && dn == "AM") {
            window.location.reload(true)
        }
        if (hours == 0)
            thours = 12


        document.getElementById('txtClock').value = day + "-" + month + "-" + year + "  " + thours + ":" + minutes + ":"
+ seconds + " " + dn
        setTimeout("show()", 1000)
    }
    show()
    function display() {
        if ((-1 < diff) && (diff < 1))
            document.getElementById('message').value = ""
        else {
            document.getElementById('message').value = "Please set the system time to the server time displayed"
        }
    }
    display()      
</script>-->

<asp:hiddenfield ID="OTPhidden" runat="server"/>

以下是我得到的错误屏幕。

http://s10.postimg.org/ody43o409/Untitled.png

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

问题是我正在使用

  

asp:login id =“login”

而不是

  

asp:login id =“loginFormsUser”(在sharepoint较新版本中已更改)

如果有人将他们的.aspx页面从Moss 2007迁移到sharepoint 2013,那么这将起到一个棘手的作用,希望这有助于somoebody。