小编jta*_*ate的帖子

使用没有MVC的Razor

可能重复:
是否可以在asp.net外部使用Razor View Engine

我需要将模板与数据合并以在运行时创建唯一的字符串.有人建议我查看ASP.NET MVC 3 中的Razor模板视图引擎.看起来很棒,但我需要在MVC视图创建之外使用它.

我知道我可以直接使用核心Razor引擎,但我也发现了一些使Razor更容易使用的项目.喜欢:

  1. Rick Strahl的Razor托管模板引擎 - http://www.west-wind.com/weblog/posts/864461.aspx
  2. GitHub上的Razor引擎 - https://github.com/Antaris/RazorEngine

有没有人有任何关于在MVC之外使用Razor作为独立模板引擎的指导?有这些包装项目的经验吗?我应该研究其他Razor托管实现吗?

c# asp.net-mvc razor

43
推荐指数
3
解决办法
5万
查看次数

动态样式表使用Razor

如何在CSS文件中使用Razor?

我正在使用Razor View Engine一段时间,我很好奇在样式表上使用它.我可以在.cshtml文件<style>块中使用Razor,但我想知道我是否也可以在外部.css文件中使用它(希望有.cscss格式).所以我用Google搜索并发现了两件事:

第一个是LESS:"动态样式表语言".它似乎易于使用且功能强大,具有所有功能,但我需要Razor-C#,真的.

第二个是动态CSS使用Razor引擎,一个CodeProject文章更像我想要的但它没有缓存或预编译支持("不支持"我的意思是作者没有提到这些方面).我也希望在Visual Studio中有一些语法高亮,但这是次要的.

那么,我如何以最低的性能成本在CSS文件中编写Razor,最好是语法高亮?

  • 是否有一个"更完整"的项目?
  • 我可以改进上面的项目来实现缓存/编译吗?如果是这样,怎么样?

作为旁注:
我找到了一个名为RazorJS的项目.它就像我想要的CSS的Javascript版本以及它的缓存支持.我提到这只是为了澄清我的需求.我现在不需要在Javascript中使用Razor,但我想如果我用CSS制作它,用Javascript做同样的事情也不会太难.

css server-side visual-studio razor

15
推荐指数
1
解决办法
6894
查看次数

有没有办法在swagger-ui页面中更改Controller的名称?

我正在使用Swashbuckle在我的WebApi项目中使用swagger和swagger-ui.

在下图中,您可以看到swagger-ui页面中显示的两个控制器.这些是在C#代码中命名的,但是我想知道是否有办法改变这里显示的内容?

这主要是因为您可以看到ManagementDashboardWidget不是用户友好名称,所以我想将其更改为用户友好.

招摇的UI

c# swagger swagger-ui swashbuckle

14
推荐指数
5
解决办法
6566
查看次数

从javascript触发base64编码PDF的打印预览

我已经看了一下stackoverflow试图找到一种方法现在这样做,并找不到合适的答案.我需要能够通过base64编码的字符串在新窗口或iframe中加载PDF,并在加载后立即触发它的打印预览.我可以使用这两种方法轻松加载PDF,但实际上无法正确显示打印预览.这是我尝试过的:

  1. embed在新窗口中使用元素.window.print()即使在加载内容后,呼叫仍为空白.
  2. 使用隐藏的,动态创建iframesrc="data:application/pdf;base64,JVBERi0..."和调用myFrame.contentWindow.print().但这会产生CORS错误.我不知道为什么,因为我没有通过iframe加载新域名,只是内容.
  3. 打开一个新窗口,只显示iframe#2中的元素,并在整个窗口中调用print.这也显示一个空白页面.
  4. 使用数据uri打开一个新窗口并打印它. window.open('data:application/pdf;base64,JVBERi0...').print();.这也不起作用,因为它甚至根本不显示打印预览.我也试过延迟它,setTimeout但也没有做任何事情.

在这一点上,我很困惑为什么这些都不起作用,特别是因为在Chrome中它显示如下的自定义菜单栏:

Chrome打印预览

如果我点击那里的实际打印图标,打印预览是完美的.当我点击该按钮时,Chrome正在做什么,这正是我想要完成的.反正有没有触发这个功能?还是有另一种方法来实现我想要的东西?只是为了澄清,我只需要在Chrome中使用它,我不需要担心其他浏览器.

html javascript pdf iframe

6
推荐指数
2
解决办法
3401
查看次数

嵌套 JSON 到 Parquet

考虑具有以下格式的嵌套 JSON:

{
    "f1": "v1",
    "f2": 1,
    "f3": [{
        "a": "b",
        "c": "d"
    }, {
        "e": "f",
        "g": "h"
    }],
    "f4": {
        "f5": "v5",
        "f6": {
            "f7": [1,2,3,4,5,6],
            "f8": "v8"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如果我不将它压平并使用 Glue ETL 将其直接转换为镶木地板,这是正确的方法吗?如果我这样做,在镶木地板列中存储嵌套地图/数组是否理想?

parquet

5
推荐指数
0
解决办法
365
查看次数

签名定义.必须在PdfSignatureAppearance中关闭

签署pdf时我收到以下错误.错误是"签名已定义.必须在PdfSignatureAppearance中关闭."

我能够第一次签署PDF格式.它在输出文件夹中创建一个pdf文件,并在第一页中显示签名.到目前为止代码工作正常.现在,当我将最近生成的文件作为输入来登录第二页时,我收到错误"Signature defined.必须在PdfSignatureAppearance中关闭."

我在下面的行中收到错误

appearance.SetVisibleSignature(new iTextSharp.text.Rectangle(300, 40, 530, 120), pageNo, "Icsi-Vendor");
Run Code Online (Sandbox Code Playgroud)

请在下面找到代码

if (File.Exists(fName))
{
    PdfReader.unethicalreading = true;
    using (PdfReader pdfReader = new PdfReader(fName))
    {
        //file name
       fName = fName.Substring(fName.LastIndexOf("\\") + 1);
        outputFile = outputFolder + fName + ".pdf";
        if (!File.Exists(outputFile))
        {
            using (FileStream fout = new FileStream(outputFile, FileMode.Create, FileAccess.ReadWrite))
            {
                using (PdfStamper stamper = PdfStamper.CreateSignature(pdfReader, fout, '\0'))
                {
                    PdfSignatureAppearance appearance = stamper.SignatureAppearance;
                    string imagePath = txtImage.Text;
                    iTextSharp.text.Image signatureFieldImage = iTextSharp.text.Image.GetInstance(imagePath);
                    appearance.SignatureGraphic = signatureFieldImage;

                    signatureFieldImage.SetAbsolutePosition(250, 50);
                    stamper.GetOverContent(pageNo).AddImage(signatureFieldImage);

                    appearance.SetVisibleSignature(new iTextSharp.text.Rectangle(300, 40, …
Run Code Online (Sandbox Code Playgroud)

itext

3
推荐指数
1
解决办法
6048
查看次数