using NTDLS.Helpers; using System.Text; namespace ZelWiki.Library { public static class ConfirmActionHelper { /// /// 生成一个链接,通过GET导航到“确认操作”页面,其中“是”链接为红色,但“否”按钮仍为绿色。 /// /// /// /// /// /// /// /// public static string GenerateDangerLink(string basePath, string message, string linkLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var param = new StringBuilder(); param.Append($"ControllerURL={Uri.EscapeDataString($"{basePath}{controllerURL}")}"); param.Append($"&YesRedirectURL={Uri.EscapeDataString(yesOrDefaultRedirectURL)}"); param.Append($"&NoRedirectURL={Uri.EscapeDataString(noRedirectURL)}"); param.Append($"&Message={Uri.EscapeDataString(message)}"); param.Append($"&Style=Danger"); return $"{linkLabel}"; } /// /// 生成一个链接,通过GET导航到“确认操作”页面,其中“是”链接为绿色。 /// /// /// /// /// /// /// /// public static string GenerateSafeLink(string basePath, string message, string linkLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var param = new StringBuilder(); param.Append($"ControllerURL={Uri.EscapeDataString($"{basePath}{controllerURL}")}"); param.Append($"&YesRedirectURL={Uri.EscapeDataString(yesOrDefaultRedirectURL)}"); param.Append($"&NoRedirectURL={Uri.EscapeDataString(noRedirectURL)}"); param.Append($"&Message={Uri.EscapeDataString(message)}"); param.Append($"&Style=Safe"); return $"{linkLabel}"; } /// /// 生成一个链接,通过GET导航到“确认操作”页面,其中“是”链接为黄色,但“否”按钮仍为绿色。 /// /// /// /// /// /// /// /// public static string GenerateWarnLink(string basePath, string message, string linkLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var param = new StringBuilder(); param.Append($"ControllerURL={Uri.EscapeDataString($"{basePath}{controllerURL}")}"); param.Append($"&YesRedirectURL={Uri.EscapeDataString(yesOrDefaultRedirectURL)}"); param.Append($"&NoRedirectURL={Uri.EscapeDataString(noRedirectURL)}"); param.Append($"&Message={Uri.EscapeDataString(message)}"); param.Append($"&Style=Warn"); return $"{linkLabel}"; } /// /// /// /// /// /// /// /// /// public static string GenerateDangerButton(string message, string buttonLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var html = new StringBuilder(); html.Append("
"); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append( $""); html.Append("
"); return html.ToString(); } /// /// /// /// /// /// /// /// /// public static string GenerateSafeButton(string message, string buttonLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var html = new StringBuilder(); html.Append("
"); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append( $""); html.Append("
"); return html.ToString(); } /// /// /// /// /// /// /// /// /// public static string GenerateWarnButton(string message, string buttonLabel, string controllerURL, string? yesOrDefaultRedirectURL, string? noRedirectURL = null) { noRedirectURL ??= yesOrDefaultRedirectURL; yesOrDefaultRedirectURL.EnsureNotNull(); noRedirectURL.EnsureNotNull(); var html = new StringBuilder(); html.Append("
"); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append($""); html.Append( $""); html.Append("
"); return html.ToString(); } } }