小编Lir*_*man的帖子

将 ckeditor 数据绑定为敲除可观察对象时如何更新它?

我正在尝试使用 ckeditor 作为 Knockout.js observable 并且我遇到了一些麻烦。首先,这是我的代码:

ko.bindingHandlers.CKEDITOR = {
init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
         var ckEditorValue = valueAccessor();
         var id = $(element).attr('id');
         var options = allBindings().EditorOptions;
         var instance = CKEDITOR.replace(id, {
             on: {
                 change: function () {
                     // This moves the caret to the start of the editor on each key pressed
                     ckEditorValue(instance.getData());
                 }
             }
         });
         // instance.setData(ckEditorValue());
     },
update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
         var id = $(element).attr('id');
         var ckEditorValue = valueAccessor();
         CKEDITOR.instances[id].setData(ckEditorValue());
     } …
Run Code Online (Sandbox Code Playgroud)

ckeditor knockout.js

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

C#MongoDB复杂类序列化

我正在使用C#MongoDB驱动程序,并且要保存以下相当复杂的JSON结构:

{
    "name" : "value",
    "age": 1,
    "isFemale": true,
    "Hobbies" : {
        //All data within the "Hobbies" node is dynamic
        //and may change from one item to another.
        "stringItem" : "value",
        "intItem" : 0.0,
        "listOfItems" : [
            { "field" : 1696.0 }
        ],
        "intArray" : [ 566.0,  1200.0 ]
    },
    "Collection" : [ 
        //All data within the "Collection" node is dynamic
        //and may change from one item to another.
        {
            "field" : "string",
            "FieldTypeId" : 2.0,
            "array" : [ 
                { …
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

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

C#MongoDB驱动程序 - 如何使用UpdateDefinitionBuilder?

我查找了一种使用mongodb的方法,UpdateDefinitionBuilders文档并没有真正显示出来......

我需要能够动态构建我的更新查询,所以我想这样做:

var update = Builders<Product>.Update;

update.Set("add A update");

if ()
    update.Set("add X update");
else
    update.Set("add Y update");

update.Set("add B update");

if ()
    update.Set("add Z update");
else
    update.Set("add P update");

Collection.UpdateOneAsync(filter, update, updateOptions);
Run Code Online (Sandbox Code Playgroud)

但它给出了编译错误:

cannot convert from UpdateDefinitionBuilder UpdateDefinition

我看了,但找不到解决方法如何使用它 UpdateDefinitionBuilders

有人可以给一个如何使用这个类的代码示例吗?

mongodb mongodb-.net-driver

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

如何在C#中使用字符串正常工作?

我知道C#中有一个关于字符串的规则说:

当我们创建一个string类型的文本字符串时,我们永远不能改变它的值!当为字符串变量赋予不同的值时,第一个字符串将保留在内存和变量(这是一种引用类型)中,只获取新字符串的地址.

所以做这样的事情:

string a = "aaa";
a = a.Trim(); // Creates a new string
Run Code Online (Sandbox Code Playgroud)

不推荐.但是,如果我需要根据用户偏好对字符串执行某些操作,如下所示:

string a = "aaa";
if (doTrim)
   a = a.Trim();
if (doSubstring)
   a = a.Substring(...);

etc...
Run Code Online (Sandbox Code Playgroud)

如果不在每个动作上创建新的字符串,我怎么能这样做呢?我想通过ref将字符串发送到函数,如下所示:

void DoTrim(ref string value)
{
  value = value.Trim(); // also creates new string
}
Run Code Online (Sandbox Code Playgroud)

但这也创造了一个新的字符串...有人可以告诉我,如果有一种方法可以做到这一点而不浪费每个动作的记忆?

c# string

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

WCF - 大文件上传 - (413) 请求实体太大

有人可以看看我的新代码吗?我现在被这个错误困了 3 天,这让我发疯了......

我正在尝试上传 WCF 文件,但未上传大文件

我收到此错误:“远程服务器返回了意外响应:(413) 请求实体太大。”

我的项目由 3 个部分构成:

  1. WCF服务

  2. 使用服务的用户控件

  3. 使用用户控件的网站

这是我的服务 we.config:

<system.serviceModel>

    <services>
      <service name="AttachmentService" behaviorConfiguration="">
        <endpoint name="DefaultEndPoint" address="http://localhost:54893/AttachmentService.svc"
                  behaviorConfiguration="EndpointBehaviors"
                  binding="wsHttpBinding" bindingName="AttachmentBinding"
                  contract="AttachmentsService.IAttachmentService"></endpoint>
      </service>
    </services>

    <behaviors>
      <serviceBehaviors>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" httpsGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="true"/>
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </serviceBehaviors>

      <endpointBehaviors>
        <behavior name="EndpointBehaviors">
          <dataContractSerializer maxItemsInObjectGraph="2147483647" />
        </behavior>
      </endpointBehaviors>
    </behaviors>

    <bindings>
      <basicHttpBinding>
        <binding name="AttachmentBinding" maxReceivedMessageSize="2147483647" maxBufferSize="2147483647" maxBufferPoolSize="2147483647" receiveTimeout="00:01:00" sendTimeout="00:01:00"
                 textEncoding="utf-8" openTimeout="00:01:00">
          <readerQuotas maxDepth="2147483647" maxStringContentLength="2147483647" maxArrayLength="2147483647" maxBytesPerRead="2147483647" maxNameTableCharCount="2147483647"/>
          <security mode="None" />
        </binding>
      </basicHttpBinding>
    </bindings>
    <serviceHostingEnvironment multipleSiteBindingsEnabled="true" aspNetCompatibilityEnabled="true" …
Run Code Online (Sandbox Code Playgroud)

c# wcf

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

Protobuf-net:如何序列化复杂的集合?

我正在尝试使用protobuf-net序列化这种类型的对象:

[ProtoContract]
public class RedisDataObject
{
    [ProtoMember(1)]
    public string DataHash;
    [ProtoMember(2, DynamicType = true)]
    public Dictionary<ContextActions, List<Tuple<string, List<object>>>> Value;
}

[Serializable]
public enum ContextActions
{
    Insert,
    Update,
    Delete
}
Run Code Online (Sandbox Code Playgroud)

我正在使用,List<object>因为我在我的代码中存储了其他类的不同类实例.

但我收到此错误消息:

Unable to resolve a suitable Add method for System.Collections.Generic.Dictionary...
Run Code Online (Sandbox Code Playgroud)

这显然是因为字典,但我找不到解决方案如何解决这个问题.

c# serialization protobuf-net

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

MongoDB - 如何从嵌套数组中的元素中删除字段?

我的文档具有以下结构:

{
    "Name": "Test",
    "FieldsCollection": [{
        "GroupName": "Group",
        "Fields": [{
            "FieldName": "ABC",
            "Fields": {
                "item1": "value1",
                "item2": "value2"
            }
        }]
    }]
}
Run Code Online (Sandbox Code Playgroud)

我需要将其更改为如下:

{
    "Name": "Test",
    "FieldsCollection": [{
        "GroupName": "Group",
        "Fields": [{
            "FieldName": "ABC",
            "item1": "value1",
            "item2": "value2"
        }]
    }]
}
Run Code Online (Sandbox Code Playgroud)

假设"item1": "value1","item2": "value2"我的集合中所有文档的值都是恒定的,我想我可以删除"FieldsCollection.Fields.Fields"并添加"item1": "value1","item2": "value2"

我尝试了以下查询:

db.getCollection('Devices').update(
    {"FieldsCollection.Fields.FieldName":"ABC"},
    {$unset: {"FieldsCollection.Fields.Fields":1}},
    {multi:true}
)
Run Code Online (Sandbox Code Playgroud)

但它没有用。

我可以使用什么查询来执行此更改?

mongodb mongodb-query

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

SqlException:对象名称无效

我正在开始使用 EF core 的新项目。我在 MSSQL 服务器上有一个现有数据库,我运行此命令以包含其 EF 结构。

Scaffold-DbContext "Server={My Server};Database={My DB};Trusted_Connection=True;" Microsoft.EntityFrameworkCore.SqlServer
Run Code Online (Sandbox Code Playgroud)

这为我创建了模型类,例如:

public partial class Cameras
{
    public int CameraId { get; set; }
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

以及以下上下文类:

public partial class SetupToolContext : DbContext
{
    public virtual DbSet<Cameras> Cameras { get; set; }

    public SetupToolContext(DbContextOptions<SetupToolContext> options) : base(options)
    { }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Cameras>(entity =>
        {
            entity.HasKey(e => e.CameraId)
                .HasName("PK_Cameras");

            entity.Property(e => e.Description).HasColumnType("varchar(500)");
        });
    }
}
Run Code Online (Sandbox Code Playgroud)

我的解决方案有 4 层:

  • 商业逻辑 …

c# entity-framework-core asp.net-core

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

如何在向其添加项目后使ListView的高度增长?

我有这个xml,我有一个列表视图,我在按钮点击时添加项目.问题是ListViews的高度没有增长,我只能看到一个项目......

这是我的xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="vertical" tools:context=".NewOrder">

<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:id="@+id/scrollView">

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical">

        <LinearLayout android:tag="Order Status"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">
            <Spinner
                android:layout_width="0dp"
                android:layout_height="wrap_content"
                android:layout_weight="1"/>
            <TextView
                android:layout_width="@dimen/field_label_width"
                android:layout_height="wrap_content"
                android:text="Status"/>
        </LinearLayout>

        <ListView
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:id="@+id/lstItems"></ListView>
        <ImageButton
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"                            
            android:src="@android:drawable/ic_input_add"
            android:onClick="btnAddItemToList"/>
    </LinearLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)

如果重要,列表视图项有:2 EditTexts,1 TextView和一个按钮,所以我使用自定义适配器.

如何使列表视图高度相应增长?

android-listview

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

C#MongoDB-如何向多个嵌套数组元素添加和删除项目?

我在MongoDB中有一个看起来像这样的文档:

{
    "Id":"123",
    "Product": "test",
    "Tags":[
        {
            "Name": "name",
            "Categories": [
                {
                    //item
                },
                {
                    //item
                }
            ]
        },
        {
            "Name": "name",
            "Categories": [
                {
                    //item
                },
                {
                    //item
                }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

现在,我需要添加一个新的Item,它需要被添加到所有的类别Tags的该元素Product由它Id。例如,当我插入Item 3文档时,应如下所示:

{
    "Id":"123",
    "Product": "test",
    "Tags":[
        {
            "Name": "name",
            "Categories": [
                {
                    //item 1
                },
                {
                    //item 2
                },
                {
                    //item 3
                }
            ]
        },
        {
            "Name": "name",
            "Categories": [
                {
                    //item 1
                },
                { …
Run Code Online (Sandbox Code Playgroud)

c# mongodb mongodb-.net-driver

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