小编Alb*_*reo的帖子

使用嵌套显示模板时如何防止Razor为输入添加前缀?

当我使用嵌套显示模板并通过HTML帮助器添加输入元素时,Razor引擎会在字段名称中添加前缀.

我知道这样做是为了保证页面级别的输入名称唯一性(并在后期重建整个模型).

但是我有许多小型表单执行临时操作,我既不需要名称唯一性也不需要重建整个模型的能力.

我只需要单个属性值,并且当我提交其中一个表单时让Razor更改输入项名称会破坏模型绑定器,因为所有名称都不同.

此示例包含简化的嵌套模型

public class Student
{
    public Guid Id { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
    public List<Course> Courses { get; set; }
}

public class Course
{
    public Guid Id { get; set; }
    public string Name { get; set; }
    public List<Grade> Grades { get; set; }
}

public class Grade
{
    public Guid Id { get; set; }
    public DateTime Date { get; …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc model razor display-templates

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

jQuery 1.5 AJAX调用失败,JSON请求的"无效标签"

我刚刚从版本1.4升级到jQuery版本1.5,现在我的AJAX调用总是因"无效标签"错误而失败.

一个示例请求是:

jQuery.ajax({
    async: false
    , dataType: "json"
    , error: function (xhr, status, error) { ... }
    , success: function (data, status, xhr) { ... }
    , type: "post"
    , url: "ajax/request.asp"
});
Run Code Online (Sandbox Code Playgroud)

在网上我发现当返回的JSON没有用jQuery的回调包装时会引发这个错误(例如jQuery1234({ "something": "abcd" }).

问题是我正在返回JSON,而不是JSONP(我在AJAX请求中声明它),为什么我必须在返回的JSON中指定回调?

1.5的changelog没有提到这个...(或者是我谁也看不懂?)

更新:

这是一个不工作的JSON的例子:

{
   "esito":"Ok",
   "centriCosto":[
      {
         "id":"1",
         "descrizione":"Colazione"
      },
      {
         "id":"2",
         "descrizione":"Pranzo"
      },
      {
         "id":"3",
         "descrizione":"Cena"
      }
   ]
}
Run Code Online (Sandbox Code Playgroud)

这是回调包装的工作JSON:

jQuery1502710949228847014_1296739130498({
   "esito":"Ok",
   "centriCosto":[
      {
         "id":"1",
         "descrizione":"Colazione"
      },
      {
         "id":"2",
         "descrizione":"Pranzo"
      },
      {
         "id":"3",
         "descrizione":"Cena"
      }
   ]
}) …
Run Code Online (Sandbox Code Playgroud)

jquery json jquery-1.5

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

有趣的Lucene.net例外

根据这个或者这个,我用多个线程使用相同的indexsearcher.但是当我从FsDirectory切换到MMapDirectory时,我得到了有趣的例外.

这项工作很好:

static void Main(string[] args) 
{
    DirectoryInfo directoryInfo = new DirectoryInfo(@"C:\Users\Tams\Desktop\new\");
    var directory = FSDirectory.Open(directoryInfo);
    var indexSearcher = new IndexSearcher(directory);

    const int times = 100;
    const int concurrentTaskCount = 5;
    var task = new Task[concurrentTaskCount];
    for (int i = 0; i < concurrentTaskCount; i++) 
    {
        task[i] = new Task(() => Search(indexSearcher, times));
        task[i].Start();
    }

    Task.WaitAll(task);
}

static void Search(IndexSearcher reader, int times) 
{
    List<Document> docs = new List<Document>(10000);
    for (int i = 0; i < …
Run Code Online (Sandbox Code Playgroud)

.net c# multithreading lucene.net

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

是否可以让AngularJS国际化数字输入?

我们正试图让AngularJS国际化<input type='number' />价值观.

我们已经包含了本地化文件(例如angular-locale_it-it.js),但仍然使用英语区域设置显示这些值.

这是一个问题,因为我们的后端(和管理)期望数值在用户的语言环境中,而接收123.45而不是123,45导致错误.

你可以在jsFiddle上找到一个例子.

它适用于Chrome 27

Chrome中的结果屏幕截图

但它在Firefox 21和Internet Explorer 10中不起作用.

Firefox中结果的屏幕截图

html localization cross-browser angularjs

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

序列化JavaScript的导航器对象

我正在创建一个页面,以帮助诊断用户在我们的网页上遇到的问题(您知道,询问用户"您使用的是什么浏览器?"通常会导致"Internet").

这个页面已经向我提交了所有HTTP头文件,现在我正在尝试让JavaScript提供更多信息,所以我认为拥有用户的navigatorJavaScript对象会很棒,我开始查看如何序列化它以便我可以提交它通过表格.

问题是我无法navigator使用我所知道的任何JSON库序列化对象,每个人都返回一个空对象(?!),所以我决定编写一个ad-hoc序列化器.

你可以在这里找到代码:

<!DOCTYPE html>
<html>
    <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.5.0/jquery.min.js" type="text/javascript"></script>
        <script type="text/javascript">
            function serialize (object) {
                var type = typeof object;
                if (object === null) {
                    return '"nullValue"';
                }
                if (type == 'string' || type === 'number' || type === 'boolean') {
                    return '"' + object + '"';
                }
                else if (type === 'function') {
                    return '"functionValue"';
                }
                else if (type === 'object') {
                    var output = '{';
                    for (var item in object) {
                        if …
Run Code Online (Sandbox Code Playgroud)

javascript serialization

9
推荐指数
2
解决办法
5157
查看次数

Visual Studio 2015在编辑时崩溃并继续

在Visual Studio 2015 Enterprise Edition中,如果我在代码中放置断点,并将代码编入IF语句,则会出现致命错误:

尝试应用代码更改并且需要终止调试时发生了致命错误.操作不受支持.未知错误:0x800004005.

Visual Studio然后崩溃.

我不确定是什么原因导致问题或在哪里看.有任何想法吗?

visual-studio-2015

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

ASP.NET Core/Kestrel中的摘要式身份验证

是否可以在ASP.NET Core/Kestrel中使用摘要式身份验证?如果是,我该如何启用和使用它?

我知道基本身份验证不会也不会实现,因为它被认为是不安全和缓慢的,但我找不到任何关于摘要的内容.

我不想使用IIS的身份验证,因为我不想绑定到Windows帐户,我想使用自定义凭据验证逻辑.

digest-authentication kestrel-http-server asp.net-core

9
推荐指数
2
解决办法
1500
查看次数

如何在C#中通过OLEDB导入CSV文件时指定分隔符

我需要在Microsoft SQL Server 2000中执行复杂的导入.

由于在DTS中执行它太复杂了,我正在尝试使用一个小的C#程序,但是当我需要导入CSV文件时我遇到了问题:这个文件使用分号作为字段分隔符而不是逗号和我无法让.NET的OLE DB提供程序识别它.

我已经在网上找到了各种"解决方案",比如使用Extended Properties="Text; Format=Delimited"或者``Extended Properties ="Text; Format = Delimited(;)" in the connection string or using aschema.ini`文件无济于事.

这是我正在使用的实际代码:

DataTable Table = new DataTable();

using (OleDbConnection Connection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Data Source={0}; Extended Properties=\"Text;HDR=Yes;Format=Delimited\""))
{
    Connection.Open();

    using (OleDbCommand Command = Connection.CreateCommand())
    {
        Command.CommandText = "select [Field 1], [Field 2] from [file.csv]";

        using (OleDbDataAdapter Adapter = new OleDbDataAdapter(Command))
        {
            Adapter.Fill(Table);
        }
    }
}

using (SqlConnection Connection = new SqlConnection("Data Source=server; Initial Catalog=database; User Id=user; Password=password;")) …
Run Code Online (Sandbox Code Playgroud)

c# csv oledb

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

让AngularJS将依赖项注入对象,就像它已经为控制器做的那样

我正在使用AngularJS 1.0.2和jQuery 1.8.2,我试图让AngularJS将依赖项注入到对象中,就像它对控制器一样.你可以找到一个简单的例子的jsfiddle,在那里你会发现两个控制器(ListNewItem),对象(Item),并与服务(名为模块servicescommunication分别).

我的问题是Item:

var Item = function (name, price) {
    var self = this;

    self.name = name;
    self.price = price;

    self.pretty = function () {
        return self.name + ": " + self.price;
    };
};
Run Code Online (Sandbox Code Playgroud)

在其中我需要使用外部的一些东西,假设我希望该pretty方法将price属性格式化为货币识别字符串:

self.pretty = function () {
    return self.name + ": " + $filter("currency")(self.price);
};
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为$filter没有定义.(请注意,使用$filter只是一个例子,它可以是任何东西.)

并且修改var Item = function (name, …

javascript dependency-injection angularjs

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

从jQuery调用ASP.NET 4.0 WCF服务会产生400 Bad Request

我知道这个问题似乎已多次发布,但我已经阅读了几乎所有这些问题(互联网上的大部分教程),我仍然无法理解我做错了什么.

我试图在一个网站上实现我们正在开发一个由jQuery脚本使用的WCF Web服务,但是400 Bad Request在做AJAX请求时我一直在想,我开始失去希望.

请注意,我是WCF的新手,我只是通过在线教程形成自己,所以我完全有可能忽略或主要搞砸了.

我尝试但没有帮助的问题:

我阅读的外部资源无济于事:

我还尝试创建一个新的解决方案,只有一个页面和服务,以排除干扰,但我仍然有同样的问题.在这里你可以找到代码:

IService.cs

namespace WebService
{
    using System;
    using System.ServiceModel;
    using System.ServiceModel.Web;

    [ServiceContract(Name = "Service", Namespace = "WebService")]
    public interface IService
    {
        [OperationContract]
        [WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, Method = "POST", RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
        String Test();
    }
}
Run Code Online (Sandbox Code Playgroud)

Service.svc.cs

namespace WebService
{
    using System;

    public class Service : IService
    { …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax wcf jquery c#-4.0

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