簡體   English   中英

轉換ValueProvider的ASP.NET值時?

[英]When converts ASP.NET values of ValueProvider?

我的項目使用ASP.NET MVC。

我通過ajax將一些數據發送到控制器動作,看起來像

{ "data" : { "DATE" : "\/Date(1409097600000)\/", "NAME" : "thomas } }

我使用控制器的ValueProvider來處理數據:

var provider = ControllerContext.Controller.ValueProvider;
var value = provider.GetValue("data.DATE");
// value is now already "27.08.2014 00:00:00" 

為什么?

這部分轉換發生在哪里?

類似的問題: -

上面的數據是內容類型"application/json; charset=utf=8"

將數據設置為"application/x-www-form-urlencoded; charset=utf=8" ASP.NET無法轉換日期值。

 _model.DATE=%5C%2FDate(1409097600000)%5C%2F&_model.NAME=thomas

我覺得我做了關於一些錯誤\\/在.NET的日期格式: \\/Date(1409097600000)\\/

(我知道netwonsoft.json可能是javascript序列化的替代品,但遺憾的是目前還沒有)

如果您使用Ajax帖子將JSON數據發送到服務器,那么content-type標頭應反映該事實(Content-Type =“application / json; charset = utf = 8”),以便服務器正確解釋數據。

Content-Type =“application / x-www-form-urlencoded; charset = utf = 8”,用於通過HTML表單提交數據。 如果您使用此內容類型標頭提交JSON數據,瀏覽器將對其進行URL編碼並生成您所示的字符串:

_model.DATE=%5C%2FDate(1409097600000)%5C%2F&_model.NAME=thomas

Date()函數在HTTP表單帖子中沒有任何意義(它是一個JSON函數),這就是日期轉換失敗的原因。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM