ASP.NET MVC中的QR代码生成
发布时间:2020-12-15 19:11:49 所属栏目:asp.Net 来源:网络整理
导读:有一个.NET API生成 QR Codes,如这一个? 我想在我希望我的用户打印出来的页面上显示这些。 解决方法 我写了一个基本的HTML帮助方法来发出正确的 img标记以利用Google的API。所以,在你的页面(假设ASPX视图引擎)使用这样的东西: %: Html.QRCodeImage(Reque
有一个.NET API生成
QR Codes,如这一个?
我想在我希望我的用户打印出来的页面上显示这些。 解决方法
我写了一个基本的HTML帮助方法来发出正确的< img>标记以利用Google的API。所以,在你的页面(假设ASPX视图引擎)使用这样的东西:
<%: Html.QRCodeImage(Request.Url.AbsolutePath) %> <%: Html.QRCodeImage("Meagre human needs a phone to read QR codes. Ha ha ha.") %> 或者如果要指定像素大小(图像始终为正方形): <%: Html.QRCodeImage(Request.Url.AbsolutePath,size: 92) %> 这里是代码: public static class QRCodeHtmlHelper { /// <summary> /// Produces the markup for an image element that displays a QR Code image,as provided by Google's chart API. /// </summary> /// <param name="htmlHelper"></param> /// <param name="data">The data to be encoded,as a string.</param> /// <param name="size">The square length of the resulting image,in pixels.</param> /// <param name="margin">The width of the border that surrounds the image,measured in rows (not pixels).</param> /// <param name="errorCorrectionLevel">The amount of error correction to build into the image. Higher error correction comes at the expense of reduced space for data.</param> /// <param name="htmlAttributes">Optional HTML attributes to include on the image element.</param> /// <returns></returns> public static MvcHtmlString QRCode(this HtmlHelper htmlHelper,string data,int size = 80,int margin = 4,QRCodeErrorCorrectionLevel errorCorrectionLevel = QRCodeErrorCorrectionLevel.Low,object htmlAttributes = null) { if (data == null) throw new ArgumentNullException("data"); if (size < 1) throw new ArgumentOutOfRangeException("size",size,"Must be greater than zero."); if (margin < 0) throw new ArgumentOutOfRangeException("margin",margin,"Must be greater than or equal to zero."); if (!Enum.IsDefined(typeof(QRCodeErrorCorrectionLevel),errorCorrectionLevel)) throw new InvalidEnumArgumentException("errorCorrectionLevel",(int)errorCorrectionLevel,typeof (QRCodeErrorCorrectionLevel)); var url = string.Format("http://chart.apis.google.com/chart?cht=qr&chld={2}|{3}&chs={0}x{0}&chl={1}",HttpUtility.UrlEncode(data),errorCorrectionLevel.ToString()[0],margin); var tag = new TagBuilder("img"); if (htmlAttributes != null) tag.MergeAttributes(new RouteValueDictionary(htmlAttributes)); tag.Attributes.Add("src",url); tag.Attributes.Add("width",size.ToString()); tag.Attributes.Add("height",size.ToString()); return new MvcHtmlString(tag.ToString(TagRenderMode.SelfClosing)); } } public enum QRCodeErrorCorrectionLevel { /// <summary>Recovers from up to 7% erroneous data.</summary> Low,/// <summary>Recovers from up to 15% erroneous data.</summary> Medium,/// <summary>Recovers from up to 25% erroneous data.</summary> QuiteGood,/// <summary>Recovers from up to 30% erroneous data.</summary> High } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 将javascript对象作为字典传输到控制器操作
- .net – .ToTitleCase不适用于所有大写字符串
- 有趣的项目理念为体面的开发想要了解更多Asp.Net
- asp.net – 如何集成ASP .Net Model View Presenter(MVP)模
- asp.net-mvc – 使Kendo Datepicker只读,但也可以选择
- asp.net-mvc – Asp.net MVC页面构建的最佳实践是什么,允许
- 如何使reCAPTCHA与ASP.Net(验证码)中的ValidationGroup一起
- asp.net-mvc – 为什么DropDownListFor会在提交后丢失多个选
- asp.net – 如何以编程方式将SMTP服务器详细信息存储(保存)
- ASP.Net注销代码块
推荐文章
站长推荐
- asp.net-mvc-2 – ASP.NET MVC 2多个PartialView
- 新版本 swagger 组件中 Servers 的 坑
- asp.net – 以URL结尾的问题
- asp.net-mvc – 单元测试适配器抛出异常:无法在
- asp.net – web.config文件中的特殊字符
- asp.net-mvc – ASP.Net MVC网址设计和结构指南
- asp.net-core – 删除继承的ASP.NET Core appset
- asp.net – 未调用自定义错误页面
- asp.net-mvc – 剃刀替换的优点(@href)
- asp.net-mvc – 将Serverside MVC与Backbone.js结
热点阅读