小编awj*_*awj的帖子

关于如何在网页上显示/呈现HTML标签的想法

有没有办法将HTML写入网页,但是将其呈现为文本?

让我解释一下:我想建立一个讨论HTML的网页.因此会有类似的部分

<div>
    <p>
        <span>Hello world</span>
    </p>
</div>
Run Code Online (Sandbox Code Playgroud)

我想用缩进正确格式化,甚至可能有不同颜色方案的标签.

我完全清楚自己可以自己编写样式,但是肯定有人已经编写并提供了样式表,LESS mixin,或者是一个可以识别和格式化的jQuery插件吗?

更新:只是为了让人们意识到,我意识到我必须对标签进行HTML编码(<和>).但这对格式化/演示文稿没有帮助,而且我正在寻求帮助的格式/演示文稿.

html css tags

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

VS2012不运行单元测试

几个星期前,我正在进行单元测试,他们正在按预期进行构建和运行.

我去度假了一个星期,今天早上启动了我的机器,没有对单元测试项目进行任何代码更改,测试不再运行.

当我说"测试不再运行"时,我并不是说它们失败了; 他们实际上不会跑.

我试图运行或调试一个特定的测试,我试图运行或调试所有测试,我已经尝试从每个测试方法名称旁边的Resharper图标,我已经尝试从TEST菜单项,我已经从"单元测试会话"窗口尝试了...所有发生的事情是"单元测试会话"窗口从右侧滑入,所有测试都说"待定"......然后什么都没有.

"输出"窗口中也没有消息.

该项目没有任何问题.我已经尝试过清理解决方案并进行重建,但这没有任何改变.此外,这不仅仅是几周前我正在进行的测试,而是我的UnitTests项目中的所有测试.

一位同事可以进行测试.他遇到了我没有的各种Resharper消息,但他仍然可以进行测试.

唯一的区别是我在尝试运行测试之前安装了VS2012.2更新.

有没有人有任何想法为什么这些测试显然不会运行?

unit-testing visual-studio-2012

6
推荐指数
1
解决办法
6129
查看次数

使用jquery.form.js的异步上传问题

我正在使用jquery.form插件在MVC项目中异步上传文档.

从我之前的回答中取得领导,是我在页面上的内容:

<% using(Html.BeginForm("Create", "JobFile", FormMethod.Post, new { id = "uploadForm", enctype = "multipart/form-data" })) %>
<% { %>
<%: Html.ValidationSummary() %>

    <input type="file" id="fileToUpload" />
    <input type="submit" value="Upload file" />
    <input type="text" id="RelatedFileName" />

<% } %>

<script type="text/javascript" src="../../Scripts/jquery-1.4.1.min.js"></script>
<script type="text/javascript" src="../../Scripts/jquery.form.js"></script>
<script type="text/javascript">
    $(function () {
        $('#uploadForm').ajaxForm(function (result) {
            if (result.errorMessage != '') {
                alert(result.errorMessage);
            } else {
                $('#RelatedFileName').val(result.fileName);
            }
        });
    });
</script>
Run Code Online (Sandbox Code Playgroud)

我的问题是,当页面加载时,我得到以下javascript错误:

未捕获的TypeError:对象#没有方法'ajaxForm'

在包含的行上找到此错误

$('#uploadForm').ajaxForm(function (result) {
Run Code Online (Sandbox Code Playgroud)

谁能告诉我为什么我会收到这个错误?

forms ajax jquery asynchronous file-upload

5
推荐指数
1
解决办法
7479
查看次数

如何避免System.Xml.Linq.XElement转义HTML内容?

我正在使用XElement对象在ASP.NET页面的代码隐藏中构建一些HTML.

我可能会或者可能不会像我一样向这个XElement添加一些XAttributes,方式如下:

var elmnt = new XElement("div",
     new XAttribute("id", "myDiv"),
     );
Run Code Online (Sandbox Code Playgroud)

现在,如果我想在myDiv中添加一些包含HTML的内容,那么XElement会自动转义,在我的情况下,这是不可取的.

所以,如果我有:

var elmnt = new XElement("div",
     new XAttribute("id", "myDiv"),
     "<span id='content'>hello world</span>"
     );
Run Code Online (Sandbox Code Playgroud)

然后使用以下代码将其渲染为Placeholder对象:

myPlaceholder.Controls.Add(new System.Web.UI.WebControls.Literal { Text = elmnt.CreateNavigator().OuterXml });
Run Code Online (Sandbox Code Playgroud)

当页面加载时,源显示elmnt中的内部内容已被转义,并在页面的源中具有以下格式:

&lt;span id='content'&gt;hello world&lt;/span&gt;
Run Code Online (Sandbox Code Playgroud)

鉴于我在这里编译的XML是有效的HTML,并且内部内容也是有效的HTML,我如何告诉XElement父对象不要逃避内部内容?如何将其保留为原生格式?

html asp.net xelement escaping

5
推荐指数
1
解决办法
3262
查看次数

Visual Studio:将jsmin作为构建后事件运行

我正在尝试将jsmin.exe作为后期构建事件添加到我的VS 2010项目中,但是当我尝试构建项目时,我得到"错误代码9009".

我已在命令提示符下测试,发现如果我导航到该文件夹​​,则运行

jsmin < debug.js > min.js
Run Code Online (Sandbox Code Playgroud)

然后它工作正常.

但是,如果我从C:\运行命令并输入完整路径,则返回

'C:\ Users\Andrew\Documents\Visual'未被识别为内部或外部命令,可操作程序或批处理文件.

所以我的结论是jsmin似乎不喜欢文件路径中的空格.鉴于Visual Studio的惯例是将项目存储在\ Visual Studio 2010 \的子文件夹中,有人可以建议我如何解决这个问题吗?

javascript visual-studio-2010 filepath post-build-event

5
推荐指数
1
解决办法
1177
查看次数

Sammy路由不工作

我无法让sammy.js路由按预期工作.

我有以下JavaScript.

(function ($) {

    var app = $.sammy('#main', function () {

        this.get('#/', function (context) {
            context.log("start page");
        });

        this.get("#/another/:id/", function (context) {
            context.log("another page with id = " + context.params["id"]);        
        });
    });

    $(function (context) {
        app.run('#/');
    });

})(jQuery);
Run Code Online (Sandbox Code Playgroud)

我的理解是,每当URL发生变化时,只要新路由对应于其中一条声明的路由,我就应该在控制台日志中看到相关的消息.

但我没有.

当页面首次加载时,我可以看到"开始页面"消息.到现在为止还挺好.

如果我那么

  • 点击指向[我的网址] /#/其他/ 1 /的链接
  • 手动在地址栏中键入[my url] /#/ another/1 /,然后按<Enter>键

......没有任何反应,我没有看到第二条路线的消息.

但是,使用地址栏中的第二条路线,如果我现在按F5或单击浏览器的刷新按钮,则页面将重新加载并显示预期的控制台消息.

我是否误解了,或者当超链接或键盘更改了URL哈希时Sammy会注意到,然后相应地采取行动?我需要在脚本中添加其他内容吗?

routing sammy.js

5
推荐指数
1
解决办法
2832
查看次数

Knockoutjs:一些可观察的绑定但在Safari中不可见

我有一个Knockout视图模型,可以在Windows和Mac上的所有浏览器中正确显示...除了Mac上的Safari.

这是带有数据绑定属性的HTML:

<div data-bind="visible: !Loading(), with: SelectedAddress">
    <!-- ko if: Comment().length -->
        <span data-bind="text: Comment"></span><br/>
    <!-- /ko -->
    <!-- ko if: Company().length -->
        <span data-bind="text: Company"></span><br/>
    <!-- /ko -->
    <!-- ko if: Name().length -->
        <span data-bind="text: Name"></span><br/>
    <!-- /ko -->
    <!-- ko if: Address1().length -->
        <span data-bind="text: Address1"></span><br/>
    <!-- /ko -->
    <!-- ko if: Address2().length -->
        <span data-bind="text: Address2"></span><br/>
    <!-- /ko -->
    <!-- ko if: ZipAndCity().length -->
        <span data-bind="text: ZipAndCity"></span><br/>
    <!-- /ko -->
    <!-- ko if: CountryName().length -->
        <span data-bind="text: …
Run Code Online (Sandbox Code Playgroud)

javascript safari observable knockout.js

5
推荐指数
1
解决办法
664
查看次数

WinForms窗口在遇到异步调用时会更改维度

我有一个几年前的WinForms项目,并且已经改装了异步事件处理程序:

private async void dgvNewOrders_CellClick(object sender, DataGridViewCellEventArgs e)
Run Code Online (Sandbox Code Playgroud)

在这个方法里面是一个异步调用:

var projectTemplate = await GetProjectTemplateFile(companyId, sourceLang, targetLang);
Run Code Online (Sandbox Code Playgroud)

当程序在普通分辨率屏幕上运行时,它会按预期运行.但是,当在高DPI屏幕上运行时,窗口的尺寸 - 以及所有子控件的尺寸 - 一旦遇到内部异步调用,就会跳到一半大小.就像程序突然以兼容模式运行或者已禁用缩放一样.

目前,为了调试问题,该GetProjectTemplateFile方法仅包括

private async Task<ProjectTemplateFile> GetProjectTemplateFile(long companyId, string sourceLanguage, string targetLanguage)
{
    return null;
}
Run Code Online (Sandbox Code Playgroud)

无论是否GetProjectTemplateFile执行异步操作都没有区别.

如果我注释掉异步调用,GetProjectTemplateFile则程序按预期运行而不会有任何跳转,即使在CellClick事件中仍有其他异步调用.

我已尝试附加.ConfigureAwait(true)到异步调用,这没有任何区别.也不会同步运行呼叫.GetAwaiter().GetResult().

任何人都可以解释为什么窗口的尺寸正在改变这个特定的异步调用,和/或如何防止这种情况发生?

更新
根据请求,这是一个代码示例,它引出了解释的行为.这里没有什么不寻常的事情我可以看到,但我向你保证,这个代码正在引起解释的行为.

private async void dgvNewOrders_CellClick(object sender, DataGridViewCellEventArgs e)
{
    var result = await _templateInteraction.GetProjectTemplateFile(1,
                                                                   "en-US",
                                                                   "de-CH");
    return;
}

public class TemplateInteraction : ITemplateInteraction
{
    public async Task<ProjectTemplateFile> GetProjectTemplateFile(long …
Run Code Online (Sandbox Code Playgroud)

c# scaling highdpi winforms async-await

5
推荐指数
1
解决办法
168
查看次数

捕获 CancelKeyPress 以在安全点停止异步控制台应用程序

我正在开发一个小型实用程序控制台应用程序,内置于 C# 7.1(有async Main支持)。

该应用程序接受几个输入命令中的一个,然后开始一个长时间运行的过程,该过程迭代数万个项目,处理每个项目。

我希望能够随时取消这个过程(使用 CTRL+C),虽然程序不应该立即取消,而是应该完成当前的迭代,然后停止。

这是我迄今为止所拥有的缩短版本。

private static bool _cancel;    

private static async Task Main(string[] args)
{
    Console.CancelKeyPress += (sender, eventArgs) =>
                                      {
                                          eventArgs.Cancel = true;                                              _logger("Migration will be stopped after the current record has been completed.\n");
                                          _cancel = true;
                                      };

    while (!_cancel)
    {
        var input = Console.ReadLine();

        // handle the various input commands
    }
}
Run Code Online (Sandbox Code Playgroud)

在运行(可选)长时间运行的进程的方法中有检查这个全局_cancel变量的逻辑:

private static async Task RunPersonMigration(Order order)
{
    var nextPerson = // ...
    while (nextPerson.IsValid)
    {
        // business …
Run Code Online (Sandbox Code Playgroud)

c# console asynchronous console-application cancellation

5
推荐指数
1
解决办法
2348
查看次数

.NET Framework 相当于 IApplicationBuilder.UseForwardedHeaders()

我正在使用在 .NET Framework 4.7.2 上运行的 ASP.NET WebForms 应用程序,该应用程序位于 Azure 应用程序网关后面。网关执行 SSL 切换,因此添加X-Forwarded-Proto="https"标头。

我还有一个 .NET Core API,可以在其中进行配置

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    app.UseForwardedHeaders();
    app.UseHsts();
    app. //...
}
Run Code Online (Sandbox Code Playgroud)

在此处记录,但特定于 .NET Core。

我一直无法找到UseForwardedHeaders.NET Framework 的等效项 - 有等效项吗?

另外,WebForms 应用程序正在 OWIN 上运行,因此我可以执行类似的操作,但我不确定如何完成它。

public void Configuration(IAppBuilder app)
{
    app.Use(async (context, next) =>
            {
                var forwardedProto = context.Request.Headers["X-Forwarded-Proto"];

                if (forwardedProto.ToLower() == "https")
                {
                    // what now?
                }

                await next();
            });
}
Run Code Online (Sandbox Code Playgroud)

.NET Framework 是否有现成的解决方案,或者关于如何最好地处理此问题的建议?

asp.net ssl webforms owin owin-middleware

5
推荐指数
1
解决办法
3831
查看次数