小编Zac*_*ott的帖子

Microsoft Web API:您如何做Server.MapPath?

由于Microsoft Web API不是MVC,因此您无法执行以下操作:

var a = Request.MapPath("~");
Run Code Online (Sandbox Code Playgroud)

也不是这个

var b = Server.MapPath("~");
Run Code Online (Sandbox Code Playgroud)

因为它们在System.Web命名空间下,而不是System.Web.Http命名空间.

那么如何计算Web API中的相对服务器路径?
我曾经在MVC中做过类似的事情:

var myFile = Request.MapPath("~/Content/pics/" + filename);
Run Code Online (Sandbox Code Playgroud)

哪个会给我磁盘上的绝对路径:

"C:\inetpub\wwwroot\myWebFolder\Content\pics\mypic.jpg"
Run Code Online (Sandbox Code Playgroud)

asp.net-web-api

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

实体属性值数据库与严格关系模型电子商务

可以肯定地说,EAV/CR数据库模型很糟糕.那说,

问题:应该使用什么数据库模型,技术或模式来处理描述可以在运行时更改的电子商务产品的属性的"类"?

在一个好的电子商务数据库中,您将存储选项类别(如电视分辨率,然后为每个电视分辨率,但下一个产品可能不是电视,没有"电视分辨率").如何存储它们,有效搜索,并允许用户使用描述其产品的可变字段设置产品类型?如果搜索引擎发现客户通常根据控制台深度搜索电视,则可以向字段添加控制台深度,然后在运行时为每种电视产品类型添加单个深度.

良好的电子商务应用程序中有一个很好的共同特征,它们显示一组产品,然后"向下钻取"侧面菜单,您可以看到"电视分辨率"作为标题,以及前五个最常见的电视分辨率发现集.您单击一个,它只显示该分辨率的电视,允许您通过选择侧面菜单上的其他类别进一步向下钻取.这些选项是运行时添加的动态产品属性.

进一步讨论:

长话短说,互联网上是否有任何链接或模型描述可以"学术上"修复以下设置? 我感谢Noel Kennedy建议的类别表,但需要的可能还要大于此.我在下面用不同的方式描述它,试图强调其意义.我可能需要进行视点校正来解决问题,或者我可能需要深入了解EAV/CR.

喜欢对EAV/CR模型的积极响应.我的开发人员都说杰弗里·肯普在下面提到了什么:"新实体必须由专业人士建模和设计"(脱离背景,阅读下面的回复).问题是:

  • 实体每周添加和删除属性
    (搜索关键字决定未来属性)
  • 新实体每周到达
    (产品由零件组装)
  • 旧实体每周都会消失
    (存档,不太受欢迎,季节性)

客户希望为产品添加属性有两个原因:

  • 相似产品之间的部门/关键字搜索/比较图表
  • 结账前的消费品配置

属性必须具有重要性,而不仅仅是关键字搜索.如果他们想要比较所有有"奶油糖霜"的蛋糕,他们可以点击蛋糕,点击生日主题,点击生奶油糖霜,然后检查所有有趣的蛋糕,知道他们都有奶油糖霜.这不仅仅是蛋糕,只是一个例子.

sql database design-patterns key-value entity-attribute-value

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

C#4默认参数值:如何分配默认的DateTime /对象值?

如果DateTime是一个对象,并且默认的C#参数只能被赋予编译时常量,那么如何为DateTime等对象提供默认值?

我正在尝试使用构造函数初始化POCO中的值,使用带有默认值的命名参数.

c# default-parameters

102
推荐指数
3
解决办法
9万
查看次数

在JSON结果中定义函数是否有效?

网站的JSON响应的一部分有这个(...为上下文添加):

{..., now:function(){return(new Date).getTime()}, ...}
Run Code Online (Sandbox Code Playgroud)

向JSON添加匿名函数是否有效?我希望每次你访问"时间"返回一个不同的值.

json anonymous-function

97
推荐指数
5
解决办法
9万
查看次数

Nullable <int>与int? - 有什么区别吗?

显然,Nullable<int>int?在数值上相等.有没有理由选择其中一个?

Nullable<int> a = null;
int? b = null;
a == b; // this is true
Run Code Online (Sandbox Code Playgroud)

.net c#

85
推荐指数
4
解决办法
3万
查看次数

获取输入绑定的未捕获错误"NO_MODIFICATION_ALLOWED_ERR"

我从这开始:

<script src="/Scripts/jquery-1.6.2.min.js" ...
<script src="/Scripts/knockout-1.2.1.debug.js" ...
<script src="/Scripts/knockout.mapping-latest.js" ...
<script src="/Scripts/jquery.unobtrusive-knockout.min.js" ...
Run Code Online (Sandbox Code Playgroud)

然后我从服务器中提取一个扁平的JSON对象,并将找到的每个属性绑定到DOM中的匹配元素:

$.ajax({
    url: '/GetRecord',
    type: 'POST',
    dataType: 'json',
    data: JSON.stringify(requestObject),
    contentType: 'application/json; charset=utf-8',
    success: function (data) {
        // Clear the current view model
        VM.Items.length = 0;

        // only one item coming from server
        VM.Items[0] = ko.mapping.fromJS(data.BlankItem);

        // for each property found, bind it to the matching DOM element
        $.each(VM.Items[0], function (indexInArray, valueOfElement) {
            var attrName = indexInArray;

            // skip over things not an accessor (get/set property function) …
Run Code Online (Sandbox Code Playgroud)

jquery unobtrusive-javascript data-mapping knockout.js

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

Knockout.js:时间输入格式和值限制

当我使用knockout在我的视图模型中绑定数值数据时,它会正确显示,但如果用户更改输入标记值,则会将数据类型更改为字符串.提交字符串的问题是服务器需要一个没有隐式转换的数值.

有什么方法可以告诉knockout维护原始属性值的数据类型?

我的示例代码将视图模型名称与输入标记名称匹配.我使用不引人注目的淘汰赛进行绑定,效果很好.

// Bind the first object returned to the first view model object
// FNS is the namespace, VM is the view model
FNS.VM.Items[0] = ko.mapping.fromJS(data.Items[0]);

// For each property found, find the matching input and bind it
$.each(FNS.VM.Items[0], function (indexInArray, valueOfElement) {
    var attrName = indexInArray;
    var attrValue;
    if (typeof valueOfElement == "function")
        attrValue = valueOfElement();
    else
        attrValue = valueOfElement;

    var a = $('input[name="' + attrName + '"][type="checkbox"]');
    if (a.length)
        a.dataBind({ checked: 'VM.Items[0].' + attrName });

    var …
Run Code Online (Sandbox Code Playgroud)

knockout.js

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

是否可以将HTML表单输入标签与SVG混合,或者使用SVG来布局表单?

我们喜欢使用带有SVG的JQuery模板来显示具有良好风格的产品.

假设我们有一个代表复杂布局的SVG.是否可以将<input>标记嵌套在SVG中并仍然在HTML 5中工作?SVG中是否有替代方案可以从用户输入数据,也可以使用Knockout.js提取它们?

我知道你可以在背景图形的意义上使用SVG并破解位置,以便表单字段排列.如果可能的话,我真的很想让SVG传入输入语句.

jquery html5 svg form-design knockout.js

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

C#反思:如何获取Nullable <int>的类型?

我想做的是这样的:

switch( myObject.GetType().GetProperty( "id") )
{
    case ??: 
        // when Nullable<Int32>, do this
    case ??:
        // when string, do this
    case ??:
        // when Nullable<bool>, do this
Run Code Online (Sandbox Code Playgroud)

object.GetType()下的什么路径将具有我可以使用case语句进行比较的数据类型的字符串名称?我需要知道类型,所以我可以使用许多Convert.ToInt32(字符串)中的一个,它将使用Reflection设置myObject的值.

.net c# reflection typeof gettype

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

如何在Visual Studio 2015中为Typescript添加打字输入到typings.json?

我不得不问,因为这让我发疯.我看到在Google上安装打字的 npm方式,但是Angular2的教程中添加了一个typings.json文件,然后添加了typings文件夹并自动从DefinitelyTyped下载了d.ts文件.我用jquery尝试了这个,但它没有下载.我也尝试重建项目,我希望package.json包含添加其他类型的命令.

这是我的package.json文件中的脚本:

"scripts": {
  "start": "tsc && concurrently \"npm run tsc:w\" \"npm run lite\" ",
  "tsc": "tsc",
  "tsc:w": "tsc -w",
  "lite": "lite-server",
  "typings": "typings",
  "postinstall": "typings install"
}
Run Code Online (Sandbox Code Playgroud)

这是我试过的typings.json文件.es6-shim和jasmine已下载.

{  "ambientDependencies": {
   "es6-shim": "github:DefinitelyTyped/DefinitelyTyped/es6-shim/es6-shim.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jasmine": "github:DefinitelyTyped/DefinitelyTyped/jasmine/jasmine.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd",
   "jquery": "github:DefinitelyTyped/DefinitelyTyped/jquery/jquery.d.ts#7de6c3dd94feaeb21f20054b9f30d5dabc5efabd"
}}
Run Code Online (Sandbox Code Playgroud)

这可能是一些简单的事情,比如在标签之后没有看起来像校验和的东西.我在哪里可以找到正确的校验和,或者我需要在package.json中添加什么命令来检索编译时的输入,或者我做错了什么?

这是另一个向typings.json文件添加一行的示例,然后为您安装d.ts文件.向下滚动,直到看到手动输入

typescript visual-studio-2015 typescript1.8 typescript-typings angular

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