0
我是BreezeJS的新手,並且最近創建了一個已啓動並正在運行的項目。我可以使用Breeze從我的SQL服務器查詢數據,而不會出現問題。但是,每當我嘗試保存更改時,更改都不會保存。我已經在VS 2012中驗證過JavaScript保存函數實際上是被調用的,但是服務器端的HttpPost方法永遠不會被調用。Breeze SaveChanges
這裏是我已經設置了微風控制器:
using System.Linq;
using System.Web.Http;
using Newtonsoft.Json.Linq;
using Breeze.WebApi;
using FitnessTracker.Models;
namespace FitnessTracker.Controllers
{
[BreezeController]
public class BreezeController : ApiController
{
private readonly EFContextProvider<FitnessTrackerContext> _fitnessContext =
new EFContextProvider<FitnessTrackerContext>();
//
// GET: /Breeze/
[HttpGet]
public string Metadata()
{
return _fitnessContext.Metadata();
}
[HttpPost]
public SaveResult SaveChanges(JObject saveBundle)
{
return _fitnessContext.SaveChanges(saveBundle);
}
[HttpGet]
public IQueryable<FitnessEquipment> FitnessEquipments()
{
return _fitnessContext.Context.FitnessEquipments;
}
}
}
這裏是保存功能,我使用:
function saveChanges() {
return manager.saveChanges()
.fail(saveFailed);
}
下面是HTML:
<div class="box-body form" data-bind="foreach: exercises">
<input type="text" class="txt-m g2" data-bind="text: EquipmentName" />
<input type="text" class="txt-m g1" data-bind="text: EquipmentLevel" />
<input type="text" class="txt-m g2" data-bind="text: DurationSeconds" />
<input type="text" class="txt-m g2" data-bind="text: Weight" />
<input type="text" class="txt-m g4" data-bind="text: DateTime" />
<br class="clear" />
</div>
保存更改
在此先感謝您的幫助!
編輯9/12/2013: 我已經修復它謝謝傑伊的幫助!
問題是我綁定的是文本而不是值。我將html更改爲:
<div class="box-body form" data-bind="foreach: exercises">
<input type="text" class="txt-m g2" data-bind="value: EquipmentName" />
<input type="text" class="txt-m g1" data-bind="value: EquipmentLevel" />
<input type="text" class="txt-m g2" data-bind="value: DurationSeconds" />
<input type="text" class="txt-m g2" data-bind="value: Weight" />
<input type="text" class="txt-m g4" data-bind="value: DateTime" />
<br class="clear" />
</div>
它現在保存沒有問題。感謝杰倫的幫助!
周杰倫,謝謝,我現在知道問題是什麼,我只需要找出問題的根源是什麼。 我檢查了hasChanges(),你知道它是假的(我非常肯定我已經檢查過了)。然後我添加了文本框,這些文本框被綁定到我的輸入的相同觀察值。當我對輸入進行更改時,文本框的值不會更改。我現在將檢查看看爲什麼我有這個綁定錯誤。謝謝。 –
感謝您回覆。我很高興你解決了它。 –