小编the*_*e_V的帖子

二进制序列化和反序列化而不创建文件(通过字符串)

我正在尝试创建一个类,该类将包含用于将对象序列化/反序列化到字符串/从字符串反序列化的函数.这就是现在的样子:

public class BinarySerialization
    {
        public static string SerializeObject(object o)
        {
            string result = "";

            if ((o.GetType().Attributes & TypeAttributes.Serializable) == TypeAttributes.Serializable)
            {
                BinaryFormatter f = new BinaryFormatter();
                using (MemoryStream str = new MemoryStream())
                {
                    f.Serialize(str, o);
                    str.Position = 0;

                    StreamReader reader = new StreamReader(str);
                    result = reader.ReadToEnd();
                }
            }

            return result;
        }

        public static object DeserializeObject(string str)
        {
            object result = null;

            byte[] bytes = System.Text.Encoding.ASCII.GetBytes(str);
            using (MemoryStream stream = new MemoryStream(bytes))
            {
                BinaryFormatter bf = new BinaryFormatter();
                result = …
Run Code Online (Sandbox Code Playgroud)

.net c# serialization

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

带有内联可编辑列表的Kendo网格

我需要使用可编辑的条目实现网格.实体字段之一是字符串列表.例如,它是一个订单列表,每个订单可能有几个跟踪号.所以我需要它来实现一个小部件,它将支持显示实体列表,添加和删除项目的能力.而且(最重要的是)它必须在Kendo网格中工作.

所以我构建了一个示例小部件......

(function (jQuery) {

var ui = kendo.ui;
var Widget = ui.Widget;

var TrackingNumbersList = Widget.extend({
    addEntryToList: function (event, value) {
        if (value == undefined) {
            var value = this.valueInput.val();
            if (value != null && value != "") {
                this.addEntryToList(event, value);
            }
        } else {
            this.domElement.find("div#valuesContainer").append($j("<div valueContainer></div>").html(value));
            this.valueInput.val('');
        }
    },
    clear: function () {
        this.domElement.find("div[valueContainer]").remove();
    },
    renderInterface: function () {
        var that = this;

        this.domElement.append("<div id='valuesContainer'></div>");
        this.valueInput = $j("<input id='txtValue' type='text' />");

        this.domElement.append(
        $j("<div></div>").append(this.valueInput)
        .append($j("<input type='button' value='Add' />").click($j.proxy(that.addEntryToList, that))) …
Run Code Online (Sandbox Code Playgroud)

jquery user-interface widget inline-editing kendo-ui

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

使用jQuery通过GET方法调用ASP.NET Web服务功能

我正在尝试使用jQuery通过GET方法调用Web服务功能,但遇到了问题.这是一个Web服务代码:

[WebService(Namespace = "http://something.com/samples")]
[ScriptService]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
public class TestWebService  : System.Web.Services.WebService {
    [WebMethod]
    public string Test2()
    {
        string result = null;

    try
        {
            result = "{'result':'success', 'datetime':'" + DateTime.Now.ToString() + "'";
        }
        catch (Exception ex)
        {
            result = "Something wrong happened";
        }

        return result;
    }

}
Run Code Online (Sandbox Code Playgroud)

这就是我调用函数的方式:

$.ajax({ type: "GET",
         url: "http://localhost/testwebsite/TestWebService.asmx/Test2",
         data: "{}",
         contentType: "application/json",
         dataType: "json",
         error: function (xhr, status, error) {
             alert(xhr.responseText);
         },
         success: function (msg) {
             alert('Call was successful!');
         }
     });
Run Code Online (Sandbox Code Playgroud)

方法被成功调用,但结果字符串被XML标记覆盖,如下所示:

<string>
{'result':'success', …
Run Code Online (Sandbox Code Playgroud)

asp.net ajax service jquery

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

对于动态查询变量,不能解析IQueryable方法

我正在试图弄清楚如何使用动态变量来处理使用LINQ查询的方法.例如,这很好:

using (DBDataContext db = new DBDataContext()) 
{
    var query = from c in db.Users
                select
                new
                {
                    c.Firstname,
                    c.Lastname,
                    c.Age
                };

    gridUsers.VirtualItemCount = query.Count();
    gridUsers.DataSource = query.ToList();
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用:

using (DBDataContext db = new DBDataContext()) 
{
    dynamic query = from c in db.Users
                select
                new
                {
                    c.Firstname,
                    c.Lastname,
                    c.Age
                };

    gridUsers.VirtualItemCount = query.Count();
    gridUsers.DataSource = query.ToList();
}
Run Code Online (Sandbox Code Playgroud)

错误是:'object'不包含'Count'的定义.如何使用动态关键字?

.net linq dynamic c#-4.0

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

在序列化数组时去掉<ArrayOfClassname>根元素

这是一个代码示例:

public class Person
{
    public string FirstName { get; set; }
    public string LastName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

...

static void Main() 
{
    Person[] persons = new Person[] 
    {
        new Person{ FirstName = "John", LastName = "Smith"},
        new Person{ FirstName = "Mark", LastName = "Jones"},
        new Person{ FirstName= "Alex", LastName="Hackman"}
    };

    XmlSerializer xs = new XmlSerializer(typeof(Person[]), "");

    using (FileStream stream = File.Create("persons-" + Guid.NewGuid().ToString().Substring(0, 4) + ".xml")) 
    {
        xs.Serialize(stream, persons);
    }
}
Run Code Online (Sandbox Code Playgroud)

这是输出:

<?xml version="1.0"?>
<ArrayOfPerson xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> …
Run Code Online (Sandbox Code Playgroud)

.net c# xml serialization

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

.NET序列化为XML.如何为数组类型设置别名?

我试图找出.net数组到XML的序列化.这是我提出的一段代码:

    public class Program
    {
        public class Person 
        {
            public string Firstname { get; set; }
            public string Lastname { get; set; }
            public uint Age { get; set; }
        }

        static void Main ()
        {
            Person[] p = 
            {
                new Person{Age = 20, Firstname = "Michael", Lastname = "Jackson"},
                new Person{Age = 21, Firstname = "Bill", Lastname = "Gates"},
                new Person{Age = 22, Firstname = "Steve", Lastname = "Jobs"}
            };

            SerializeObject<Person[]>(p);
        }

        static void SerializeObject<T>(T obj) where T : …
Run Code Online (Sandbox Code Playgroud)

.net c# xml arrays serialization

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