To programmatically obtain the Current Web ID, with JavaScript Client Object Model.
NEEDS EXAMPLE
One wants to open a Page inside a SharePoint popup, and pass in query string the current Web ID.
SOLUTION
In this example it retrieves one list by Title from the Root Web.<input onclick="javascript:init();" type="button" value="Task Selector"/>
<SharePoint:ScriptLink ID="ScriptLink1" Name="sp.js" runat="server" OnDemand="true" Localizable="false" /><script type="text/ecmascript">
var options;
function portal_openModalDialog(pageUrl) {
options = SP.UI.$create_DialogOptions();
options.width = 600;
options.height = 400;
options.url = pageUrl;
options.dialogReturnValueCallback = Function.createDelegate(null, CloseCallback);
SP.UI.ModalDialog.showModalDialog(options);
}
function CloseCallback(result, target) {
location.reload(true);}
function init()
{var context = new SP.ClientContext.get_current();
this.Web = context.get_web();
context.load(this.Web);
context.executeQueryAsync(Function.createDelegate(this, this.onSuccess),
Function.createDelegate(this, this.onFail));
}
function onSuccess(sender, args)
{portal_openModalDialog("http://myserver/Pages/default.aspx?WebID=" + this.Web.get_id());
}
function onFail(sender, args) {
alert('Failed:' + args.get_message());
}
</script>