Asp.net mvc 4 如何在RDLC报告中显示二维码
我使用QrEncoder(NuGet Package QrCode.Net)在MVC4中生成QR码。现在我的问题是如何在RDLC报告中动态显示此二维码。我搜索了很多网站,但没有找到任何可行的解决方案。一种方法是:Asp.net mvc 4 如何在RDLC报告中显示二维码,asp.net-mvc-4,rdlc,qr-code,Asp.net Mvc 4,Rdlc,Qr Code,我使用QrEncoder(NuGet Package QrCode.Net)在MVC4中生成QR码。现在我的问题是如何在RDLC报告中动态显示此二维码。我搜索了很多网站,但没有找到任何可行的解决方案。一种方法是: 在.net中创建一个处理程序,根据querystring参数动态生成二维码,并将其作为png返回 将rdlc设置为具有外部引用的映像 生成报告时,需要将其设置为允许外部引用 将url传递给要发送到报表的数据集中的处理程序/图像,并使其成为报表中图像的路径 当生成报表时,它将生成并显
- 在.net中创建一个处理程序,根据querystring参数动态生成二维码,并将其作为png返回
- 将rdlc设置为具有外部引用的映像
- 生成报告时,需要将其设置为允许外部引用
- 将url传递给要发送到报表的数据集中的处理程序/图像,并使其成为报表中图像的路径
当生成报表时,它将生成并显示QR代码。虽然可以回答这个问题,但请考虑解释它是如何工作的。-首先安装Qrcode Nutupe包,然后在该函数中传递QR码的值,然后在RDLC中选择添加图像,然后从DataSet中选择值。
var data = db.spMemberDetailByMembership(CompanyId, BranchId, Convert.ToInt32(MemRegId)).Select(x => new SPMemberRegisterModel
{
ID = x.ID,
BookingPrice = x.BookingPrice,
MailingAddress = MailingAddress(x.ID),
BarCode = GenerateQrCode(x.UUID),
}).ToList();
reportdatasource.Value = data;
localReport.DataSources.Add(reportdatasource);
private byte[] GenerateQrCode(string qrmsg)
{
QRCoder.QRCodeGenerator qRCodeGenerator = new QRCoder.QRCodeGenerator();
QRCoder.QRCodeData qRCodeData = qRCodeGenerator.CreateQrCode(qrmsg, QRCoder.QRCodeGenerator.ECCLevel.Q);
QRCoder.QRCode qRCode = new QRCoder.QRCode(qRCodeData);
Bitmap bmp = qRCode.GetGraphic(5);
System.Web.UI.WebControls.Image imgBarCode = new System.Web.UI.WebControls.Image();
imgBarCode.Height = 150;
imgBarCode.Width = 150;
using (Bitmap bitMap = qRCode.GetGraphic(5))
{
using (MemoryStream ms = new MemoryStream())
{
bitMap.Save(ms, System.Drawing.Imaging.ImageFormat.Png);
byte[] byteImage = ms.ToArray();
return byteImage;
}
}
}