有没有办法将HTML写入网页,但是将其呈现为文本?
让我解释一下:我想建立一个讨论HTML的网页.因此会有类似的部分
<div>
<p>
<span>Hello world</span>
</p>
</div>
Run Code Online (Sandbox Code Playgroud)
我想用缩进正确格式化,甚至可能有不同颜色方案的标签.
我完全清楚自己可以自己编写样式,但是肯定有人已经编写并提供了样式表,LESS mixin,或者是一个可以识别和格式化的jQuery插件吗?
更新:只是为了让人们意识到,我意识到我必须对标签进行HTML编码(<和>).但这对格式化/演示文稿没有帮助,而且我正在寻求帮助的格式/演示文稿.
几个星期前,我正在进行单元测试,他们正在按预期进行构建和运行.
我去度假了一个星期,今天早上启动了我的机器,没有对单元测试项目进行任何代码更改,测试不再运行.
当我说"测试不再运行"时,我并不是说它们失败了; 他们实际上不会跑.
我试图运行或调试一个特定的测试,我试图运行或调试所有测试,我已经尝试从每个测试方法名称旁边的Resharper图标,我已经尝试从TEST菜单项,我已经从"单元测试会话"窗口尝试了...所有发生的事情是"单元测试会话"窗口从右侧滑入,所有测试都说"待定"......然后什么都没有.
"输出"窗口中也没有消息.
该项目没有任何问题.我已经尝试过清理解决方案并进行重建,但这没有任何改变.此外,这不仅仅是几周前我正在进行的测试,而是我的UnitTests项目中的所有测试.
一位同事可以进行测试.他遇到了我没有的各种Resharper消息,但他仍然可以进行测试.
唯一的区别是我在尝试运行测试之前安装了VS2012.2更新.
有没有人有任何想法为什么这些测试显然不会运行?
我正在使用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)
谁能告诉我为什么我会收到这个错误?
我正在使用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中的内部内容已被转义,并在页面的源中具有以下格式:
<span id='content'>hello world</span>
Run Code Online (Sandbox Code Playgroud)
鉴于我在这里编译的XML是有效的HTML,并且内部内容也是有效的HTML,我如何告诉XElement父对象不要逃避内部内容?如何将其保留为原生格式?
我正在尝试将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 \的子文件夹中,有人可以建议我如何解决这个问题吗?
我无法让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发生变化时,只要新路由对应于其中一条声明的路由,我就应该在控制台日志中看到相关的消息.
但我没有.
当页面首次加载时,我可以看到"开始页面"消息.到现在为止还挺好.
如果我那么
......没有任何反应,即我没有看到第二条路线的消息.
但是,使用地址栏中的第二条路线,如果我现在按F5或单击浏览器的刷新按钮,则页面将重新加载并显示预期的控制台消息.
我是否误解了,或者当超链接或键盘更改了URL哈希时Sammy会注意到,然后相应地采取行动?我需要在脚本中添加其他内容吗?
我有一个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) 我有一个几年前的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# 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) 我正在使用在 .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 ×2
asynchronous ×2
c# ×2
html ×2
javascript ×2
ajax ×1
async-await ×1
cancellation ×1
console ×1
css ×1
escaping ×1
file-upload ×1
filepath ×1
forms ×1
highdpi ×1
jquery ×1
knockout.js ×1
observable ×1
owin ×1
routing ×1
safari ×1
sammy.js ×1
scaling ×1
ssl ×1
tags ×1
unit-testing ×1
webforms ×1
winforms ×1
xelement ×1