小编Dan*_*ulp的帖子

如何在剃刀中创建一个javascript字符串

我看过一些关于这个主题和一些博客的帖子,但似乎都没有提到我得到的输出.

我想要的是生成一个包含它的信息的谷歌地图.手动输入信息会产生正确的信息.这部分是有效的.

我遇到困难的地方是当我要动态地创建带有我想要的信息的字符串的javascript数组.

我想得到的HTML代码是:

<script type="text/javascript">     
    var projects = [
         ['Kantoor 4.1 bestaande bouw', 52.25446, 6.16024700000003, 'Deventer', '', 'adviseurs', 'rating30'],
         ['School nieuw 4.0', 52.243161, 4.43677860000003, 'Noordwijk', '', 'adviseurs', 'rating30'],   
    ];
Run Code Online (Sandbox Code Playgroud)

非常简单的javascript数组,我想用它创建:

<script type="text/javascript">
var projects = [
    @foreach (var item in Model)
    {
        @HttpUtility.JavaScriptStringEncode("['" + item.Gebouwnaam + "', " + item.LocatieLatitude.ToString().Replace(",", ".") + ", " + item.LocatieLongitude.ToString().Replace(",", ".") + ", '" + item.Plaats + "', '" + item.Gebruiksfunctie + "', '" + item.Licentiehouder + "', '" + item.rating + "'],"); …
Run Code Online (Sandbox Code Playgroud)

javascript razor asp.net-mvc-3

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

如何使用Knockout.JS创建具有不同值的select元素

我明白那个

<p>Destination country: <select data-bind="options: availableCountries"></select></p>

<script type="text/javascript">
    var viewModel = {
        availableCountries : ko.observableArray(['France', 'Germany', 'Spain']) // These are the initial options
    };

    ko.applyBindings(viewModel);
</script> 
Run Code Online (Sandbox Code Playgroud)

将创建一个选择元素,如:

<select data-bind="options: availableCountries">
    <option value="France">France</option>
    <option value="Germany">Germany</option>
    <option value="Spain">Spain</option>
</select>
Run Code Online (Sandbox Code Playgroud)

但如果我希望它像:

<select data-bind="options: availableCountries">
    <option value="1">France</option>
    <option value="2">Germany</option>
    <option value="3">Spain</option>
</select>
Run Code Online (Sandbox Code Playgroud)

我的代码是什么?

我知道我可以使用optionsText来填充选项,但optionsValue似乎对我不起作用

欢呼,丹尼尔

select knockout.js

16
推荐指数
1
解决办法
4616
查看次数

在某个时间安排每天刷新HttpContext.Cache的任务

我有一个运行MVC 3 c#的网站从web服务中提取记录.随着它从Web服务获取的数据集变得越来越大,我正在寻找一种方法,在没有当前缓存的情况下,第一个用户不会在没有当前缓存的情况下触发创建缓存,而是按日计划(像cron工作,计划任务或其他).

我该怎么做?我是否需要某种类似Quartz.net的触发器库?(我宁愿使用更简单的解决方案)

我现在在控制器中拥有的是:

private List<DataSummary> GetSummaries()
    {
        //get summaries from cache if available
        List<DataSummary> summaries = (List<DataSummary>)HttpContext.Cache["SummariesCache"];
        if (summaries == null)
        {
            //cache empty, retrieve values
            summaries = _webservice.GetSummaries();
            //cache it
            HttpContext.Cache.Add("SummariesCache", summaries, null, DateTime.Now.AddHours(12), Cache.NoSlidingExpiration, CacheItemPriority.Normal, null);
        }
        return summaries;

    }
Run Code Online (Sandbox Code Playgroud)

编辑

使用CacheItemRemovedCallback导致超时错误

c# caching scheduled-tasks httpcontext.cache asp.net-mvc-3

10
推荐指数
1
解决办法
1215
查看次数

sqlexpress本地数据库管理员密码

我正在尝试使用Webmatrix在我的本地计算机(Windows Vista)上安装一些.Net电子商务项目.他们中的一些人要求提供数据库管理员用户名和密码,但我不知道它们是什么.

任何人都可以帮我这个.请参见图像,该图是安装过程的屏幕截图.

安装过程的屏幕截图

.net sql-server installation webmatrix

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

如何使用Node JS Tools在Visual Studio中调试Yeoman生成器KO(带有typescript和gulp)Node JS项目

我已创建了在Visual Studio中的节点JS项目(2012专业2013社区)NTVS,并使用了约曼生成器来创建一个淘汰赛SPA的应用程序(使用发电机设置的打字稿选项).

现在我需要在调试时决定将哪个文件设置为启动文件(按F5).我想这将是./src/app/require.config.js因为否则我得到一个错误,需要是未定义的.

当我开始调试时,一切看起来都很好,并出现一个控制台窗口,其中显示消息"调试器正在侦听端口5858".但是当我启动localhost:5858时,没有服务器/网站.

我可以在另一个端口上的服务器中启动应用程序但是没有命中断点,甚至在启动文件中也没有.

所以我的问题是: - 我应该将什么设置为启动文件? - 如何使用NTVS在Visual Studio中调试我的应用程序?


编辑

我确定当我添加一个新的空NTVS项目时,它会创建一个server.js文件:

var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);
Run Code Online (Sandbox Code Playgroud)

将其设置为启动文件会导致此文件的工作调试.

我怎样才能通过require.config.js加载require并使用startup.ts启动我的应用程序?

require.config.js

// require.js looks for the following global when initializing
var require = {
    baseUrl: ".",
    paths: {
        "bootstrap": "bower_modules/components-bootstrap/js/bootstrap.min",
        "crossroads": "bower_modules/crossroads/dist/crossroads.min",
        "hasher": "bower_modules/hasher/dist/js/hasher.min",
        "jquery": "bower_modules/jquery/dist/jquery",
        "knockout": "bower_modules/knockout/dist/knockout",
        "knockout-projections": "bower_modules/knockout-projections/dist/knockout-projections",
        "signals": "bower_modules/js-signals/dist/signals.min",
        "text": "bower_modules/requirejs-text/text"
    },
    shim: { …
Run Code Online (Sandbox Code Playgroud)

visual-studio node.js requirejs yeoman-generator ntvs

7
推荐指数
1
解决办法
568
查看次数

如何在 .NET Core API 中使用 Windows 环境变量?

我们正在创建一个 .NET Core 2.1 应用程序,其中包含连接到 SQL Server 数据库的 Web API 项目。

当将连接字符串存储在尽可能最安全的位置时,我试图了解环境变量的正确使用。

当我听说我可以使用环境变量来存储连接字符串之类的东西时,听起来真的很棒。它是安全的,我们可以在不同的开发人员以及登台和生产环境上使用不同的变量。这很有用,因为它们的 SQL Server 实例并不都具有相同的名称。

但是,当我现在将连接字符串添加到 Windows 环境变量时,如下所示:

在此输入图像描述

或通过 PowerShell,如下所示:

setx CUSTOMCONNSTR_MyContextDb "Server=.\\MYSQLSERVER;Database=MyDb_local;Trusted_Connection=True;ConnectRetryCount=0"
Run Code Online (Sandbox Code Playgroud)

我尝试像这样得到它:

var connectionString = Configuration.GetConnectionString("MyContextDb");
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。该字符串为空。

只有当我转到项目的属性并在“调试”选项卡上输入环境变量时,将 CUSTOMCONNSTR_MyContextDb 变量和值添加到环境变量中,我才能使这行代码正常工作。基本上只是在 launchSettings.json 文件中设置它们。这似乎不是比 appsettings.json 更好的位置(或者是吗?)。

我是否误解了 .NET Core 中环境变量的使用?我可以不使用windows定义的环境变量吗?或者我只能在 IIS 服务器上使用真实的 Windows 环境变量吗?

看起来我可以,因为当我调试和查看 Configuration 对象时,我看到了超过 80 个环境变量的列表。

作为参考,这篇带有简短 YouTube 剪辑的文章帮助我更好地理解了这方面的概念,但我并没有完全掌握所有内容,我希望你能提供帮助。

c# environment-variables asp.net-core

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

在服务器上安装部署 azure 代理失败:System.IO.FileNotFoundException:无法加载文件或程序集“DotNetAgent,版本 = 1.0.0.0”

我不知道 SO 是否是解决此问题的最佳位置,因此如果您知道更好的位置,请告诉我,我会将其移到那里。

我们有一个正常运行的 Azure Devops 部署池,在我们的 VPS 上运行一个代理。但是我的 PAT 过期了,所以我安装了一个新代理(是的,我知道,我本可以延长 PAT 的过期日期,但当时我没有意识到这一点)。

但是当我通过 DevOps 提供的脚本安装代理时,我收到以下错误消息:

System.IO.FileNotFoundException:无法加载文件或程序集“DotNetAgent,版本=1.0.0.0,文化=中性,PublicKeyToken=87b69d96e75fbfca”。该系统找不到指定的文件。文件名:'DotNetAgent,版本=1.0.0.0,文化=中性,PublicKeyToken=87b69d96e75fbfca'

我已经尝试过:

  1. 更新 VPS 上的 MSBuild 工具。
  2. 从 VPS 中删除所有代理
  3. 从 DevOps 中删除我所有的 PAT 并在复制 DevOps 中的脚本的同时生成一个新的 PAT

编辑 1 个 添加的系统信息

Windows Server 2012 R2 64 位

Powershell 引擎版本 4 0 -1 -1(使用这个

这个版本检测工具检测我安装了这些版本的asp.net框架

  • .NET 固件 2.0 SP 2 (CLR:2.0)

  • .NET 固件 3.0 SP 2 (CLR:2.0)

  • .NET 固件 3.5 SP 1 (CLR:2.0)

  • .NET FW 4.6.2 一般版本 (CLR:4.0)

  • .NET FW 4.7 …

continuous-deployment azure-devops

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

如果我在vb.net中输入数字,Visual Studio 2012会为我的double值添加数字

一个非常奇怪的,可能意味着Visual Studio 2012的有用行为.当我在vb.net中输入double时,如:

Dim myD as Double = 1.4
Run Code Online (Sandbox Code Playgroud)

当我按下Enter键以另一种方式移动我的焦点时,格式化开始并将上面的内容更改为:

Dim myD as Double = 1.39999999999999998
Run Code Online (Sandbox Code Playgroud)

或1.6作为

Dim myD as Double = 1.6000000000000001
Run Code Online (Sandbox Code Playgroud)

所有双打似乎都不会发生此行为.1.3,1.5,1.7和1.8请看这个youtube电影中的行为:http: //youtu.be/afw4jg58-aU

为什么,更重要的是,我该如何防止这种情况?

编辑:

安装的扩展程序是: 在此输入图像描述

第二次编辑

这种行为似乎消失了.我不知道是什么造成了这种情况,以便将来参考,这对任何人都没用,但就目前而言,我很高兴我没有按照建议进行故障排除.

vb.net double code-formatting visual-studio-2012

2
推荐指数
1
解决办法
523
查看次数

如何在Visual Studio 2012中设置Umbraco 6.1.2并启用MVC在TFS中使用?

我想要的是Visual Studio 2012中用于Umbraco版本6.1.2(目前最新的稳定版本)的开发环境,MVC作为渲染引擎,因此我可以使用Razor并在Umbraco中集成MVC项目.

我还希望能够使用Team Foundation Sever来共享和存储代码.

问题在于:当我从Umbraco下载Umbraco文件或使用WebMatrix安装Umbraco站点时,我无法访问核心文件或在Visual Studio中正确调试我的安装.

所以我需要一种从Visual Studio构建和调试/运行Umbraco的方法.

我查看了很多帖子,文章等(也在StackOverflow上),但似乎都没有解决最新的Umbraco版本(大多数关于4.5.x),只有少数关于MVC.旧的引用,非现有的项目模板或VS旧版本的模板让我不得不深入挖掘.当我找到解决方案时,我想到了两件事: - 1我需要检查这个解决方案 - 2我应该向更广泛的受众分享这个解决方案然后它现在开始

这两个原因都是我在这里发布的原因(澄清问题)

tfs umbraco asp.net-mvc-4 visual-studio-2012

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

如何使用PetaPOCO(Umbraco 6,MVC)修改现有数据库表(添加/删除列)

我有一个具有一些自定义功能的Umbraco CMS应用程序,为此我使用了PetaPOCO将数据存储在数据库中。我创建了POCO和一个Umbraco事件,该事件在应用程序启动时触发以创建表(如果该表不存在):

public class RegisterEvents : ApplicationEventHandler
{
    //This happens everytime the Umbraco Application starts
    protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
    {
        //Get the Umbraco Database context
        var db = applicationContext.DatabaseContext.Database;

        //Check if the DB table does NOT exist
        if (!db.TableExist("MyTable"))
        {
            //Create DB table - and set overwrite to false
            db.CreateTable<MyPetaPOCO>(false);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何在不直接访问数据库的情况下修改现有数据库(我想添加一列)?我需要使用代码,因为主机尚未提供访问权限。我认为我应该能够在此ApplicationStarted重写事件中执行此操作,但我不知道如何操作。

编辑

我应该使用Somel Fluent Migrator

c# sql umbraco petapoco umbraco6

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