本文整理汇总了C#中System.IO.StringWriter.WriteScriptTagsUrls方法的典型用法代码示例。如果您正苦于以下问题:C# StringWriter.WriteScriptTagsUrls方法的具体用法?C# StringWriter.WriteScriptTagsUrls怎么用?C# StringWriter.WriteScriptTagsUrls使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.IO.StringWriter
的用法示例。
在下文中一共展示了StringWriter.WriteScriptTagsUrls方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: OpenIdSelectorScripts
public static string OpenIdSelectorScripts(this HtmlHelper html, OpenIdSelector selectorOptions, OpenIdAjaxOptions additionalOptions) {
Requires.NotNull(html, "html");
bool selectorOptionsOwned = false;
if (selectorOptions == null) {
selectorOptionsOwned = true;
selectorOptions = new OpenId.RelyingParty.OpenIdSelector();
}
try {
if (additionalOptions == null) {
additionalOptions = new OpenIdAjaxOptions();
}
using (StringWriter result = new StringWriter(CultureInfo.CurrentCulture)) {
if (additionalOptions.ShowDiagnosticIFrame || additionalOptions.ShowDiagnosticTrace) {
string scriptFormat = @"window.openid_visible_iframe = {0}; // causes the hidden iframe to show up
window.openid_trace = {1}; // causes lots of messages";
result.WriteScriptBlock(string.Format(
CultureInfo.InvariantCulture,
scriptFormat,
additionalOptions.ShowDiagnosticIFrame ? "true" : "false",
additionalOptions.ShowDiagnosticTrace ? "true" : "false"));
}
var scriptResources = new[] {
OpenIdRelyingPartyControlBase.EmbeddedJavascriptResource,
OpenIdRelyingPartyAjaxControlBase.EmbeddedAjaxJavascriptResource,
OpenId.RelyingParty.OpenIdAjaxTextBox.EmbeddedScriptResourceName,
};
result.WriteScriptTags(scriptResources);
if (selectorOptions.DownloadYahooUILibrary) {
result.WriteScriptTagsUrls(new[] { "https://ajax.googleapis.com/ajax/libs/yui/2.8.0r4/build/yuiloader/yuiloader-min.js" });
}
using (var blockBuilder = new StringWriter(CultureInfo.CurrentCulture)) {
if (selectorOptions.DownloadYahooUILibrary) {
blockBuilder.WriteLine(@" try {
if (YAHOO) {
var loader = new YAHOO.util.YUILoader({
require: ['button', 'menu'],
loadOptional: false,
combine: true
});
loader.insert();
}
} catch (e) { }");
}
blockBuilder.WriteLine("window.aspnetapppath = '{0}';", VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath));
// Positive assertions can last no longer than this library is willing to consider them valid,
// and when they come with OP private associations they last no longer than the OP is willing
// to consider them valid. We assume the OP will hold them valid for at least five minutes.
double assertionLifetimeInMilliseconds = Math.Min(TimeSpan.FromMinutes(5).TotalMilliseconds, Math.Min(OpenIdElement.Configuration.MaxAuthenticationTime.TotalMilliseconds, DotNetOpenAuthSection.Messaging.MaximumMessageLifetime.TotalMilliseconds));
blockBuilder.WriteLine(
"{0} = {1};",
OpenIdRelyingPartyAjaxControlBase.MaxPositiveAssertionLifetimeJsName,
assertionLifetimeInMilliseconds.ToString(CultureInfo.InvariantCulture));
if (additionalOptions.PreloadedDiscoveryResults != null) {
blockBuilder.WriteLine(additionalOptions.PreloadedDiscoveryResults);
}
string discoverUrl = VirtualPathUtility.AppendTrailingSlash(HttpContext.Current.Request.ApplicationPath) + html.RouteCollection["OpenIdDiscover"].GetVirtualPath(html.ViewContext.RequestContext, new RouteValueDictionary(new { identifier = "xxx" })).VirtualPath;
string blockFormat = @" {0} = function (argument, resultFunction, errorCallback) {{
jQuery.ajax({{
async: true,
dataType: 'text',
error: function (request, status, error) {{ errorCallback(status, argument); }},
success: function (result) {{ resultFunction(result, argument); }},
url: '{1}'.replace('xxx', encodeURIComponent(argument))
}});
}};";
blockBuilder.WriteLine(blockFormat, OpenIdRelyingPartyAjaxControlBase.CallbackJSFunctionAsync, discoverUrl);
blockFormat = @" window.postLoginAssertion = function (positiveAssertion) {{
$('#{0}')[0].setAttribute('value', positiveAssertion);
if ($('#{1}')[0] && !$('#{1}')[0].value) {{ // popups have no ReturnUrl predefined, but full page LogOn does.
$('#{1}')[0].setAttribute('value', window.parent.location.href);
}}
document.forms[{2}].submit();
}};";
blockBuilder.WriteLine(
blockFormat,
additionalOptions.AssertionHiddenFieldId,
additionalOptions.ReturnUrlHiddenFieldId,
additionalOptions.FormKey);
blockFormat = @" $(function () {{
var box = document.getElementsByName('openid_identifier')[0];
initAjaxOpenId(box, {0}, {1}, {2}, {3}, {4}, {5},
null, // js function to invoke on receiving a positive assertion
{6}, {7}, {8}, {9}, {10}, {11}, {12}, {13}, {14}, {15}, {16}, {17},
false, // auto postback
null); // PostBackEventReference (unused in MVC)
}});";
blockBuilder.WriteLine(
blockFormat,
MessagingUtilities.GetSafeJavascriptValue(Util.GetWebResourceUrl(typeof(OpenIdRelyingPartyControlBase), OpenIdTextBox.EmbeddedLogoResourceName)),
//.........这里部分代码省略.........