当我尝试在客户端视图模型中传递服务器端视图模型时出现 js 错误“Uncaught SyntaxError: Unexpected token &”(对于 knockout.js)
视图模型
public class InvoiceViewModel
{
public Factuur Factuur { get; set; }
public List<Factuurlijn> Factuurlijnen { get; set; }
}
控制器
//Create Viewmodel
InvoiceViewModel ivm = new InvoiceViewModel();
//Initialize vm objects
int aantaldagentotvervaldatum = Convert.ToInt32(General.getParameter("defaultaantaldagentotvervaldatum"));
Factuur i = new Factuur { factuur_nummer = 1, factuur_nummervoorvoegsel = DateTime.Now.Year.ToString(), factuur_datum = DateTime.Now, factuur_type = Ftype, factuur_vervaldatum = DateTime.Now.AddDays(aantaldagentotvervaldatum), factuur_kortingspercentage = Convert.ToDecimal(General.getParameter("defaultkortingspercentage")) };
List<Factuurlijn> FLijnen = new List<Factuurlijn>{new Factuurlijn(){ factuurlijn_aantal = 0, factuurlijn_item="", factuurlijn_prijs=0 }};
// add objects to viewmodel
ivm.Factuur = i;
ivm.Factuurlijnen = FLijnen;
return View(ivm);
看法
@{
//prepare viewmodel to assign to pas into js
string initialData = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(Model);
}
...
<script type="text/javascript">
var initialDataJS = @(initialData)
alert('initialdata : ' + initialDataJS);
</script>
我的警报没有被触发,我得到的错误;
在 FF 中:尝试在清除范围 Bronbestand 上运行 compile-and-go 脚本:chrome://firebug/content/net/requestObserver.js
在 Chrome 中: Uncaught SyntaxError: Unexpected token &
在我尝试将它分配给 js 变量之前,我感觉它在 viewmodel 的序列化上出错了,但我不明白为什么......
我已经试过了
string initialData = Json.Encode(Model);
但没有成功......然后我在我的js错误中看到了这个
错误:无效的属性 ID
var initialDataJS = {"Factuur":{"factuur_id":0,"factuur_nummervoorvoegsel":"2012","factuur_nummer":1,"factuur_type":"F","bedrijf_id":0,"factuur_naam":null,"factuur_notities":null,"factuur_details":null,"factuur_datum":"\/Date(1335443889648)\/","factuur_vervaldatum":"\/Date(1336307889648)\/","factuur_kortingspercentage":0,"factuur_betaald":false,"factuur_bedrijf_naam":null,"factuur_bedrijf_adres":null,"factuur_bedrijf_postcode":null,"factuur_bedrijf_gemeente":null,"factuur_bedrijf_land":null,"factuur_bedrijf_tel":null,"factuur_bedrijf_fax":null,"factuur_bedrijf_gsm":null,"factuur_bedrijf_email":null,"factuur_bedrijf_website":null,"factuur_bedrijf_btw":null,"factuur_deleted":false,"bedrijf":null,"bedrijfReference":{"Value":null,"EntityKey":null,"RelationshipName":"ScotaModel.facturen_ibfk_1","SourceRoleName":"facturen","TargetRoleName":"Bedrijf","RelationshipSet":null,"IsLoaded":false},"factuurlijnen":[],"EntityState":1,"EntityKey":null},"Factuurlijnen":[{"factuurlijn_id":0,"factuur_id":0,"factuurlijn_item":"","factuurlijn_aantal":0,"factuurlijn_prijs":0,"factuurlijn_btwbedrag":0,"factuurlijn_btwpercentage":0,"factuurlijn_datum":"\/Date(-62135596800000)\/","factuurlijn_volgorde":null,"factuurlijn_deleted":false,"facturen":null,"facturenReference":{"Value":null,"EntityKey":null,"RelationshipName":"ScotaModel.factuurlijnen_ibfk_1","SourceRoleName":"factuurlijnen","TargetRoleName":"facturen","RelationshipSet":null,"IsLoaded":false},"EntityState":1,"EntityKey":null}]}
有人可以帮帮我吗?