小编use*_*269的帖子

淘汰映射验证

我正在尝试将验证附加到映射视图.我正在使用Knockout Mapping and Validation插件.少女模特儿:

Person {
    int Id;
    string Name;
    Book[] Books;
}

Book {
    int Id;
    string Name;
}
Run Code Online (Sandbox Code Playgroud)

使用Javascript:

function viewModel() {
    var self = this;
    self.persons = ko.observableArray();

    // persons are retrieved via AJAX...
    ko.mapping.fromJS(persons, {}, self.persons);
}

jQuery(function( $ ) {
    ko.applyBindings(new viewModel());
});
Run Code Online (Sandbox Code Playgroud)

如何扩展observableArray人员以设置验证规则和消息?我需要验证人员和书籍子数组属性.我发现只有使用显式模型设置的示例,没有自动映射,例如:

Name: ko.observable().extend({ required: true })
Run Code Online (Sandbox Code Playgroud)

然后我需要设置ko.validatedObservable,isValid和validation.init,但我真的不知道如何处理/组织这个.你能帮忙吗?

knockout-mapping-plugin knockout.js knockout-validation

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

ASP.NET Web API控制器特定的序列化程序

我有一个带有2个控制器的自主Web API:

  • 对于控制器1,我需要默认DataContractSerializer(我暴露EF 5 POCO)
  • 对于控制器2,我需要XmlFormatter,参数UseXmlSerializer设置为true(我暴露了一个XmlDocument)

我试图在控制器初始化期间设置格式化程序,但配置似乎是全局的,影响所有控制器:

public class CustomConfigAttribute : Attribute, IControllerConfiguration
{
    public void Initialize(HttpControllerSettings settings,
    HttpControllerDescriptor descriptor)
    {
        settings.Formatters.XmlFormatter.UseXmlSerializer = true;

    }
}
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

xml asp.net xml-serialization asp.net-web-api

13
推荐指数
2
解决办法
2391
查看次数

Web API表单数据集合

我正在尝试将表单序列化值发布到控制器(Web API Self Host).我无法理解为什么NameValueCollection没有正确绑定.客户端使用jQuery:

// Form Submit Handler
$( '#form-parameters' ).submit(function (event) {

        event.preventDefault();

        var formData = $(this).serialize();
        // Post serialized form data
        postAssemblyParameters(formData);
});

// Post Form Data to controller test
function postAssemblyParameters(formData){
        $.ajax({
                url: http://localhost/api/test/1,
                type: 'POST',
                data: formData,
                dataType: 'application/x-www-form-urlencoded',
                success: function(x3d) {
                },
                error: function(xhr) {

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

服务器端使用Web API Self Host:

public void Post([FromUri] int id, [FromBody] NameValueCollection formData)
{
        Console.WriteLine(id); // OK

        // Collection is NULL
        foreach (var key in formData.AllKeys)
        {
                foreach …
Run Code Online (Sandbox Code Playgroud)

c# asp.net jquery asp.net-web-api

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

删除事件不会阻止默认

我有以下内容:http://jsfiddle.net/KywJT/

function dragEnter(evt) {
    evt.stopPropagation();
    evt.preventDefault();
    $(evt.target).addClass('over');
}

function dragLeave(evt) {
    evt.stopPropagation();
    evt.preventDefault();
    $(evt.target).removeClass('over');
}

function drop(evt) {
   evt.stopPropagation();
   evt.preventDefault();
   $(evt.target).removeClass('over');
}

jQuery( function ( $ ) {

  var $box = $( "#box" );
  $box.bind("dragenter", dragEnter);
  $box.bind("dragleave", dragLeave);
  $box.bind("drop", drop);
});
Run Code Online (Sandbox Code Playgroud)

我使用的是Chrome版本24.0.1312.52 m和最后一个jQuery(1.8.3).当我将文件放入框中时,浏览器不会阻止默认beaviour.你能帮我么?

PS dragexit被弃用了吗?

javascript jquery drag-and-drop google-chrome jquery-events

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

共享资源锁

我在.NET 4.5上使用C# - Web API Self Host.服务器端我有一个非线程安全的进程:它可以一次处理一个请求.如何在控制器代码中锁定此资源(进程),以便顺序提供客户端,等待资源在使用之前被释放?就像是:

while(true){
    if(!process.isLocked)
        break;
}

lock(process)
do(work)
unlock(process)
warn(others)
Run Code Online (Sandbox Code Playgroud)

任何代码段或建议都表示赞赏.提前致谢.

c# asp.net thread-safety asp.net-web-api

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