Tuesday, March 18, 2014















Server Error in '/' Application.


Runtime Error

Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed.

Details: To enable the details of this specific error message to be viewable on the local server machine, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "RemoteOnly". To enable the details to be viewable on remote machines, please set "mode" to "Off".




<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="RemoteOnly"/>
    </system.web>
</configuration>


Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.



<!-- Web.Config Configuration File -->

<configuration>
    <system.web>
        <customErrors mode="On" defaultRedirect="mycustompage.htm"/>
    </system.web>
</configuration>













Monday, March 17, 2014

Script link URL in SharePoint Visual Web Part

Script link URL in SharePoint Visual Web Part


To reference a JavaScript file in SharePoint visual web part, you may want to do this


<script src="/_Layouts/project1/js/myTools.js"></script>

There is a potential problem with this approach. For example, if your site url is http://xyz.com/sites/hr, the JavaScript file will be loaded from url http://xyz.com/_layouts/project1/myTools.js instead of http://xyz.com/sites/hr/_layouts/project1/myTools.js.
If the site http://xyz.com/ doesn't exist, the file will not be found.

There are four different ways to load the JavaScript file with correct site collection root url.

1. Use SharePoint ScriptLink and ~sitecollection token


<SharePoint:ScriptLink ID="ScriptLink2" language="javascript" name="~sitecollection/_Layouts/MI.EGR/js/MedInsight.SummaryReport.js" runat="server"/>

2. Use relative url in <script> assuming you always know where the web part will be used, for example from the pages library.

<script src="../../_Layouts/MI.EGR/js/MedInsight.BenefitsInsights.js"></script>

3. Use inline server side code in the page


<script src="<%=SPContext.Current.Web.ServerRelativeUrl %>/_Layouts/MI.EGR/js/MedInsight.BenefitsInsights.js"></script>

4. Use server side code to load JavaScript file

See:
How to: Add Client Script Dynamically to ASP.NET Web Pages http://msdn.microsoft.com/en-us/library/ms178207(v=vs.100).aspx