backbone and mvc



我有一个骨干项目,其中我有以下我想传递到.NET的模型以进行数据库更新。

var myList = Backbone.Model.extend({
    // Default attributes for the todo item.
    defaults: function () {
        return {
            Name: "Default name"
        };
    },

    url: "/my/myList",
    "sync": mySyncFunction,
    // Ensure that each todo created has `title`.
    initialize: function () {
        if (!this.get("Name")) {
            this.set({ "Name": this.defaults.Name });
        }
    }
});

使用以下内容覆盖同步

function mySyncFunction(method, model, options) {
    if (method == 'GET') {
        options.url = model.url;
    }
    else if (method == "create") {
        options.url = model.url+"Post";
    }
    else {
        options.url = model.url;
    }
    Backbone.emulateJSON = true
    return Backbone.sync(method, model, options);
}

创建一个新项目时,它正在使用model.url " post"我假设的and.get(" name")包含正确的数据。执行正确的部分,并创建数据库中的条目,但名称为空。

尽管.NET控制器处理帖子时,名称不再包含任何数据。

我的控制器代码看起来像这样。

   public class myController : Controller
    {
        public ActionResult myList()
        {

            List<myCore.myList> l = new List<myCore.myList>();
            l = myCore.myList.ListAll();
            return Json(l, JsonRequestBehavior.AllowGet);
        }


        [HttpPost]
        public ActionResult myListPost(myCore.myList doc)
        {

            doc.AccountGuid = Guid.NewGuid();
            Boolean created = doc.Create();
            return Json(doc);
        }
        [HttpPut]
        public ActionResult myListPut(myCore.myList doc)
        {
            myCore.myList doc1 = new myCore.myList();
            doc1.AccountGuid = Guid.Empty;
            doc1.Name = "testPut";
            Boolean created = doc1.Create();
            return Json(doc1);
        }

        [HttpDelete]
        public ActionResult myListDelete(myCore.myList doc)
        {
            //DeleteDoc(id);
            myCore.myList doc1 = new myCore.myList();
            doc1.id = Guid.NewGuid();
            doc1.AccountGuid = Guid.Empty;
            doc1.Name = "testDelete";
            Boolean created = doc1.Create();
            return Json(doc1);
        }
    }

任何人都可以告诉我该怎么做才能将模型/类数据传达到控制器中。

myList类看起来像这样。

public class myList
        {
            Guid _id = Guid.Empty;
            String _name = String.Empty;
            Guid _accountGuid = Guid.Empty;
            public Guid id
            {
                get { return _id; }
                set { _id = value; }
            }
            public String Name
            {
                get { return _name; }
                set { _name = value; }
            }
            public Guid AccountGuid
            {
                get { return _accountGuid; }
                set { _accountGuid = value; }
            }
}

update

现在看起来它可以在删除骨干后工作。emulatejson= true

尽管我仍然无法删除部分工作。它出现了404个错误。仅发布并获得作品。

在控制器中看起来像这样。

[ActionName("myList")]
    [HttpDelete]
    public ActionResult myListDelete(myCore.myList doc)
    {
        doc.Name += "-DELETE";

        return Json(doc);
    }

update

也发现了一个。

asp.net handing put/删除动词

尽管我似乎可以将任何模型或参数以及订单一起传递,以删除数据库中的正确条目。

将默认值更改为

defaults: {
     Name: "Default name"
},

最新更新