我有一个像3:30pm
这样的值作为javascript字符串。
我有一个MVC控制器,它接受一个TimeSpan
的参数。
我向控制器发了一个jquery帖子。如何将字符串格式的时间转换为TimeSpan
格式?
答案 0 :(得分:1)
如果你设法将你的javascript字符串解析为DateTime,你可以这样做:
DateTime.TimeOfDay
之后将代表自午夜以来作为TimeSpan过去一天的部分。
答案 1 :(得分:1)
由于TimeSpan
没有默认的ctro(无参数),因此无法使用默认的模型绑定器。你需要自己编写:
public class TimeModelBinder:DefaultModelBinder
{
public override object BindModel(ControllerContext controllerContext,
ModelBindingContext bindingContext)
{
var hour = controllerContext.HttpContext.Request["hours"];
var minutes = controllerContext.HttpContext.Request["minutes"];
var time = new TimeSpan(int.Parse(Hour), int.Parse(minutes), 0);
return return time;
}
}
控制器:
public ActionResult Index([ModelBinder(typeof(TimeModelBinder))] TimeSpan model)
{
}
发表:
$.post("/home/index", {
hours: 5,
minutes: 10 }, function() {
//success
});
从内存中写出