ビューまたはアクションなしで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;
なぜ投稿のデータを返す必要がありますか? – GET
正常に動作することを確認するには – Jasen