root/trunk/eCard/eCardMVC/Platnosci/Helpers/WebHelper.cs @ 971

Wersja 971, 5.0 KB (wprowadzona przez marek, 16 years temu)

re #215

RevLine 
[867]1using System;
2using System.Web.Mvc;
3using System.Web.Routing;
4using System.Configuration;
5
[971]6namespace adMoto.Payments.Web.Helpers
[867]7{
[971]8    public static class WebHelper
[867]9    {
10        public static string ImageTag(this HtmlHelper helper, string src, string alt)
11        {
[971]12            var tb = new TagBuilder("img");
[867]13            tb.Attributes.Add("src", helper.Encode(src));
14            tb.Attributes.Add("alt", helper.Encode(alt));
15            return tb.ToString(TagRenderMode.SelfClosing);
16        }
17        public static string ImageLink(this HtmlHelper htmlHelper, string filename, string alt, string querystring)
18        {
19           
20            var action = htmlHelper.CurrentAction();
21            var controller = htmlHelper.CurrentController();
22                                   
[971]23            var urlHelper = ((Controller)htmlHelper.ViewContext.Controller).Url;
24            var src = urlHelper.UrlImage(filename);
25            var imgtag = htmlHelper.ImageTag(src, alt);
[867]26           
[971]27            var tab = new RouteValueDictionary();
[874]28
[971]29            var id = "";
[874]30            if (htmlHelper.ViewContext.RouteData.Values["id"] != null) id = htmlHelper.ViewContext.RouteData.Values["id"].ToString();
[867]31            tab.Add("language", alt);
[874]32            if (id != null) tab.Add("id", id);
[867]33
[971]34            var url = urlHelper.Action(action, controller, tab);
[867]35
[971]36            var param = querystring.Split(("&").ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
37            for (var i = 0; i < param.Length; i++ )
[867]38            {
[874]39                if (i == 0 ) url += "?" + param[i];
[867]40                else url += "&" + param[i];
41            }
42
[971]43            var link = new TagBuilder("a");
[867]44            link.Attributes.Add("href", url);
45            link.InnerHtml = imgtag;
46            return link.ToString();
47        }
48        public static string CurrentController(this HtmlHelper htmlHelper)
49        {
50            return htmlHelper.ViewContext.RouteData.Values["controller"].ToString();
51        }
52        public static string CurrentAction(this HtmlHelper htmlHelper)
53        {
54            return htmlHelper.ViewContext.RouteData.Values["action"].ToString();
55        } 
56        public static string Home(this UrlHelper urlHelper)
57        {
58            return urlHelper.Content("~/");
59        }
60        public static string Css(this UrlHelper urlHelper, string fileName)
61        {
[971]62            var url = urlHelper.Home() + "Content/" + fileName;
[867]63            return urlHelper.Content(url);
64        }
65        public static string UrlImage(this UrlHelper urlHelper, string fileName)
66        {
[971]67            var url = urlHelper.Home() + "Images/" + fileName;           
[867]68            return urlHelper.Content(url);
69        }
70        public static string FileUrl(this UrlHelper urlHelper, string fileName)
71        {
[971]72            var url = urlHelper.Home() + "Images/";
73            switch (ConfigurationManager.AppSettings["Css"])
74            {
75                case "truck":
76                    url += "truck/";
77                    break;
78                case "admoto":
79                    url += "admoto/";
80                    break;
81            }
[867]82            url += fileName;
83            return urlHelper.Content(url);
84        }
85        public static string MainCss(this HtmlHelper htmlHelper, string filename)
86        {
[971]87            var urlHelper = new UrlHelper(htmlHelper.ViewContext.RequestContext);
88            var url = urlHelper.Css(filename);
89            var strCss = htmlHelper.LinkTag(url, "stylesheet", "text/css");
[867]90            return strCss;
91        }
92        public static string LinkTag(this HtmlHelper htmlHelper, string url, string rel, string type)
93        {
[971]94            var linkcss = new TagBuilder("link");
[867]95            linkcss.Attributes.Add("href", url);
96            linkcss.Attributes.Add("rel", rel);
97            if (type != "" ) linkcss.Attributes.Add("type", type);
98            return linkcss.ToString(TagRenderMode.SelfClosing);
99        }
100        public static string AddCssToPortal(this HtmlHelper htmlHelper)
101        {
[971]102            var filename = "";
103            switch (ConfigurationManager.AppSettings["Css"])
104            {
105                case "truck":
106                    filename = "truck.css" ;
107                    break;
108                case "admoto":
109                    filename = "admoto.css";
110                    break;
111            }
[867]112           
[971]113            var css = htmlHelper.MainCss(filename);
[867]114            return css;
115        }
[971]116       
[952]117        public static string Logo(this HtmlHelper helper)
[867]118        {
[971]119            var urlHelper = new UrlHelper(helper.ViewContext.RequestContext);
[952]120           
[971]121            var logo = ConfigurationManager.AppSettings["Css"] == "admoto" ? "logo.png" : "logo.gif";
[952]122
[971]123            var url = urlHelper.FileUrl(logo);
124            var logotag = helper.ImageTag(url, "logo");
[886]125           
[971]126            var tb = new TagBuilder("td");
[952]127            tb.Attributes.Add("class", "logo");
[886]128
129            tb.InnerHtml = logotag;
[867]130            return tb.ToString();
131        }
[971]132    }
133}
Notatka: Zobacz TracBrowser aby uzyskać więcej informacji.