2017-03-29 8 views
0

ビューまたはアクションなしでMVCコントローラが1つ必要です。あなたを実行し、クライアントがサイトに を入力し、彼のローカルゾーン を追加するだけJavaScript DatetimeゾーンをActionResultビューなしでMVCコントローラに渡す

inctanceすべてのクライアントで使用する必要がある - 私は他のブラウザ場合MVCコントローラ

のバリウスへのオフセットローカルブラウザゾーン を使用する必要があります この機能に関してこの方法が正しいの?

これは私のMVCコントローラです。最初のアクションはビューを持たず、ブラウザーゾーンオフセットのみを設定します。リクエストコールはJSコードからのものです。ここで

using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Web; 
using System.Web.Mvc; 
using System.Web.Mvc.Ajax; 

namespace MvcApplication1.Controllers 
{ 
    public class NoneViewController : Controller 
    { 
//POST/NoneViewController/BrowserZoneOffset/-60 
     [HttpPost] 
     public void BrowserZoneOffset(int zone) 
     { 

       Requests.Headers.Add("time-zone-offset, zone); 
     } 

    [HttpGet] 
    public ActionResult GetDateView() 
    { 

     // Here need to get inctance only data //from requests. If second browser open 
// site need to get his zone 
     int mydateOffset = Request.Headers["tume-zone"].FirstOrDefault(); 

     return new View(...); 
    } 

} 

}

我々はその一例でuniqは、ブラウザのゾーンを設定することができ、Webページのホーム・ページの物乞い

@section Scripts { < script type = "text/javascript" > 
     //modify as needed to make it pass in what you need. 
     function ZoneOffset(zoneId) { 
     $.ajax({ 
     url: "/NoneViewController/BrowserZoneOffset/"+zoneId, 
     // data: {zoneId: zoneId }, 
     cache: false, 
     contentType: false, 
     processData: false, 
     type: "POST", 
     success: function(data) { 
      //TODO: Add whatever if you want to pass a notification back 
     }, 
     error: function(error) { 
      //TODO: Add some code here for error handling or notifications 
     } 
     } 

// here set local browser zone offest 
var dt = Datetime.Now(); var zoneOffset = dt.GetLocalZone(); 
ZoneOffset(zoneOffset); 

< /script> 
     } 

でこれがコールをJSローカルブラウザゾーン を追加私のjsある

var localAspNetInctanceBrowser = Session.SessionID; 

// int myLocalzone variable was set by 
// JS.datetime.Now().getZoneOffset(); 

Session[localAspNetInctanceBrowser] = myLocalzone; 

答えて

0

あなたはreturn Json(model)の結果を解析します。 JavaScriptコード。

[HttpPost] 
public ActionResult BrowserZoneOffset(int tz) 
{ 
    PersistentStoreTimeZone(tz); 

    return Json(new { status = "success" }); 
} 

けれども、私はあなたの日時文字列フォーマットはタイムゾーンのオフセットを含む場合、このいずれかが必要だとは思いません。

+0

なぜ投稿のデータを返す必要がありますか? – GET

+0

正常に動作することを確認するには – Jasen

関連する問題