Next: Custom Callouts in the SharePoint 2013 Metro UI, Part 5: Modification of the Document Library Item Callout Content
Back to contents.
The autohosted application in SharePoint 2013 requires some configuration for using the calouts framework inside the app frame:
1. You need to reference a bunch of javascript files from the hosting portal supporting callouts framework.
2. You need to reference core CSS styles from the hosting portal because they are defining some important properties of the callout markup.
How to Reference the Required Javascript files
Microsoft.Ajax.js
The most base JS file you need to reference is Microsoft.Ajax.js. You don't need a link to this file because the easiest way to render it is to use the ScriptManager control - it renders the content of this file from the embedded resource:<asp:ScriptManager runat="server"></asp:ScriptManager>
If your app is not written in ASP.NET you can use a CDN version of this file: https://ajax.aspnetcdn.com/ajax/4.5/6/MicrosoftAjax.debug.js
How to get the hosting portal url
In order to reference the callout framework JS files from the hosting portal you need to obtain the portal url. Your app receives it in the "SPHostUrl" parameter in its own url. In ASP.NET it's convenient to save it to the public page property and to reference it from the page markup. Here I save it to the HostWebUrl property:public partial class Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
// The following code gets the client context and Title property by using TokenHelper.
// To access other properties, you may need to request permissions on the host web.
var contextToken = TokenHelper.GetContextTokenFromRequest(Page.Request);
var hostWeb = Page.Request["SPHostUrl"];
HostWebUrl = hostWeb;
using (var clientContext = TokenHelper.GetClientContextWithContextToken(hostWeb, contextToken, Request.Url.Authority))
{
clientContext.Load(clientContext.Web, web => web.Title);
clientContext.ExecuteQuery();
Response.Write(clientContext.Web.Title);
}
}
public string HostWebUrl { get; set; }
}
The required JS files
Now we can easy reference the required files. I've used the debug versions of these files - of course you can use the release (without .debug suffix). Please note that the order of links is important because some of these files depends on another. There are some localized versions of scripts here- you should use the locale of your hosting portal (in my case it is the English one - 1033):
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/1033/initstrings.debug.js"></script>
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/1033/strings.js"></script>
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/init.debug.js"></script>
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/core.debug.js"></script>
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/mquery.debug.js"></script>
<script type="text/javascript" src="<%=HostWebUrl %>/_layouts/15/callout.debug.js"></script>
How to Reference the Required CSS
The required styles defined in the corev15.css. We can reference it in that way:<link href="<%=HostWebUrl %>/_layouts/15/1033/styles/Themable/corev15.css" rel="stylesheet" type="text/css"/>
The complete ASP.Net Example
That's all! Here you can find the complete working ASP.Net example: http://yadi.sk/d/QmnPu_Qh4Ka4c. Here's the result page:Previous: Custom Callouts in the SharePoint 2013 Metro UI, Part 3: CalloutManager
Next: Custom Callouts in the SharePoint 2013 Metro UI, Part 5: Modification of the Document
Back to contents.
Can you please post example or new post for Application page and popup page? That will be really helpful.
ReplyDeleteI am facing issue for callout in application page which is opened as dialog window(sp.ui.dialog.js).
Hi! Can you provide more details on your problem and how to reproduce it?
DeleteThe development of artificial intelligence (AI) has propelled more programming architects, information scientists, and different experts to investigate the plausibility of a vocation in machine learning. Notwithstanding, a few newcomers will in general spotlight a lot on hypothesis and insufficient on commonsense application. machine learning projects for final year In case you will succeed, you have to begin building machine learning projects in the near future.
DeleteProjects assist you with improving your applied ML skills rapidly while allowing you to investigate an intriguing point. Furthermore, you can include projects into your portfolio, making it simpler to get a vocation, discover cool profession openings, and Final Year Project Centers in Chennai even arrange a more significant compensation.
Data analytics is the study of dissecting crude data so as to make decisions about that data. Data analytics advances and procedures are generally utilized in business ventures to empower associations to settle on progressively Python Training in Chennai educated business choices. In the present worldwide commercial center, it isn't sufficient to assemble data and do the math; you should realize how to apply that data to genuine situations such that will affect conduct. In the program you will initially gain proficiency with the specialized skills, including R and Python dialects most usually utilized in data analytics programming and usage; Python Training in Chennai at that point center around the commonsense application, in view of genuine business issues in a scope of industry segments, for example, wellbeing, promoting and account.
The Nodejs Projects Angular Training covers a wide range of topics including Components, Angular Directives, Angular Services, Pipes, security fundamentals, Routing, and Angular programmability. The new Angular TRaining will lay the foundation you need to specialise in Single Page Application developer. Angular Training
Hello Alex
ReplyDeleteWhen adding the reference to the CSS file, the HostUrl is translated correctly in my case.
Whe I have a look with the F12 tools I see the HostUrl is ok for the js files but for the css it stays href="<%=HostWebUrl %>/_layouts/15/1033/styles/Themable/corev15.css" as output. Also in VS HostWebUrl is not indicated as string Default.HostWebUrl as it does correctly for the js references...
Any Ideas?
Hi! I've done a little research on this subject and can confirm it. It seems to be some strange behavior if not the bug. All I can offer in this case is some kind of workaround - you can render the link in any other way. I've made a working example for you with the asp literal control for rendering the link. Download it at http://yadi.sk/d/_s01YcJoKuEPX
DeleteThanks Alex! This works out great!
Delete(Also congrats with the other posts about callouts they are really helpful)
rolex watches
ReplyDeletecoach outlet store online
ray ban sunglasses uk
camisetas futbol baratas
cheap nike shoes
jerseys wholesale
christian louboutin sale
roshe run
christian louboutin outlet
michael kors outlet
chanyuan2017.05.18
nike free 4.0 flyknit
ReplyDeletefred perry shirts
montblanc pens
kate spade uk
adidas sneakers
michael kors outlet store
ray bans
coach factory outlet online
red bottom
ed hardy clothing
170612yueqin
michael kors outlet
ReplyDeleteoakley sunglasses outlet
air max 95
toms shoes outlet
air jordan retro
columbia outlet online
michael kors outlet
giuseppe zanotti sneakers
oakley sunglasses
chaussures louboutin
mt0619
There are so many useful information in your post, I like it all the time. And I want to share this boost app ranking with you, you can take a look. This is very useful.
ReplyDeleteI think this is an informative post and it is very useful and knowledgeable. therefore, I would like to thank you for the efforts you have made in writing this article. fake documents
ReplyDeleteارخص شركة نقل عفش
ReplyDeleteارخص شركة نقل عفش بالرياض
jordan shoes
ReplyDeletebalenciaga shoes
kd shoes
kyrie irving shoes
moncler jackets
jordan 12
off white jordan 1
ultra boost
nike epic react
coach outlet
ReplyDeleteشركة كشف تسربات المياه بالقصيم
golden goose sneakers
ReplyDeletesupreme sweatshirt
moncler
golden goose
nike off white
yeezy 350
off white jordan 1
adidas yeezy
nike kyrie 6
moncler
moncler
ReplyDeletelongchamp
stone island outlet
lebron shoes
supreme outlet
yeezy boost 350 v2
yeezy supply
kyrie 5
kobe shoes
curry 8