Asp.Net MVC实现文字,链接生成二维码

Posted 初秋的小犀牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Asp.Net MVC实现文字,链接生成二维码相关的知识,希望对你有一定的参考价值。

1、创建MVC项目

2、添加NuGet程序包:ThoughtWorks.QRCode

3、在控制器书写对应代码

    [HttpPost]     
    public ActionResult EWMTest(string txtQRContext)
    
        string strContent = txtQRContext;
        MemoryStream ms = new MemoryStream();

        // 生成二维码
        QRCodeEncoder qrCodeEncoder = new QRCodeEncoder();
        qrCodeEncoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;
        qrCodeEncoder.QRCodeScale = 4;
        qrCodeEncoder.QRCodeVersion = 7;
        qrCodeEncoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.M;
        //kedee 增加utf-8编码,可支持中文汉字  
        Image image = qrCodeEncoder.Encode(strContent, System.Text.Encoding.UTF8); 
        Bitmap map = new Bitmap(image, new Size(200, 200));
        //end

        map.Save(ms, System.Drawing.Imaging.ImageFormat.Gif);
        //  将图片内存流转成base64,图片以DataURI形式显示
        string strUrl = "data:image/gif;base64," + Convert.ToBase64String(ms.ToArray());           
        image.Dispose();
        ms.Dispose();
        //  显示
        ViewBag.src = strUrl;
        //前端显示:<img src="@ViewBag.src" />
        return View();
    

本文转载自:https://blog.csdn.net/YiQiJinBu/article/details/23673727?utm_source=blogxgwz2

ASP.NET MVC:获取小写链接(而不是 Camel Case)

【中文标题】ASP.NET MVC:获取小写链接(而不是 Camel Case)【英文标题】:ASP.NET MVC: Get lowercase links (instead of Camel Case) 【发布时间】:2010-11-27 21:24:52 【问题描述】:

我所有动态生成的操作链接等都在创建 /Account/Setup 之类的链接。看起来很奇怪。

我希望我的所有链接都是小写的(意思是 /account/setup)。有什么办法吗?

【问题讨论】:

【参考方案1】:

.NET Framework 4.5 中有一个更简单的解决方案,一个新属性 RouteCollection.LowercaseUrls,这里是一个example

【讨论】:

【参考方案2】:

看看http://goneale.com/2008/12/19/lowercase-route-urls-in-aspnet-mvc/。您可以在 How can I have lowercase routes in ASP.NET MVC? 的另一个 *** 中找到更多信息。

到目前为止,其他帖子还没有解决您导航到 Web 目录根目录的情况。如果您有一个指向 HomeController Index 操作的映射,您希望显示以下 URL:

mysite/home/ 甚至mysite/home/index

Html 辅助函数的使用量不会改变这样一个事实,即默认情况下,浏览器位置栏中将显示以下内容:

mysite/Homemysite/Home/Index

【讨论】:

【参考方案3】:

为Html写一个扩展方法:

public static class MyHtmlExtensions

    public static string LowerActionLink(this HtmlHelper htmlHelper,someargs)
    
        return String.ToLowerInvariant(htmlHelper.ActionLink(someArgs));
    

然后使用 Html.LowerActionLink 代替 Html.ActionLink

【讨论】:

路由不区分大小写吗? 我觉得不行,否则我就麻烦大了。 啊...也许您可能想在路线的后面部分保留一些案例。建议在扩展方法中更明智地使用 ToLower 从头开始。除了最简单的情况外,我认为这样做并不是一个好主意,但我会保留它以防它满足 OP 的需求。

以上是关于Asp.Net MVC实现文字,链接生成二维码的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC:获取小写链接(而不是 Camel Case)

ASP.NET MVC 4 URL链接和Ajax帮助函数

asp.net mvc 时间前用文字助手 [重复]

asp.net mvc 如何实现自动提交或保留用户未登录前得信息

C#实现二维码功能,winform 以及 asp.net均可以用

如何使用jQuery unobtrusive和Asp.Net Mvc验证动态生成的单选按钮组?