在没有ActionResult视图的情况下将JavaScript日期时区传递给MVC控制器
我需要一个没有任何视图或操作的mvc控制器。 我需要使用本地浏览器区域 mvc控制器变量的偏移量 如果其他浏览器-客户端输入 到站点,需要添加他的本地区域 并仅在所有客户端实例中使用 您认为这种方式对该功能正确吗 这是我的MVC控制器。第一个动作没有任何视图,仅设置浏览器区域偏移。请求调用来自JS代码在没有ActionResult视图的情况下将JavaScript日期时区传递给MVC控制器,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我需要一个没有任何视图或操作的mvc控制器。 我需要使用本地浏览器区域 mvc控制器变量的偏移量 如果其他浏览器-客户端输入 到站点,需要添加他的本地区域 并仅在所有客户端实例中使用 您认为这种方式对该功能正确吗 这是我的MVC控制器。第一个动作没有任何视图,仅设置浏览器区域偏移。请求调用来自JS代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.
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(...);
}
}
}
这是我的js,添加本地浏览器区域
这个js调用在乞讨的网页主页上
@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>
}
您可以返回Json(model)
然后在JavaScript代码中解析结果
[HttpPost]
public ActionResult BrowserZoneOffset(int tz)
{
PersistentStoreTimeZone(tz);
return Json(new { status = "success" });
}
不过,如果您的datetime字符串格式包含时区偏移量,我认为这些都不是必需的。为什么我们需要在post中返回任何数据?以验证操作是否成功
[HttpPost]
public ActionResult BrowserZoneOffset(int tz)
{
PersistentStoreTimeZone(tz);
return Json(new { status = "success" });
}