这篇文章主要为大家展示了“Asp.net MVC如何实现scheduler”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Asp.net MVC如何实现scheduler”这篇文章吧。
Asp.net MVC scheduler的实现方法详解
本例使用了fullcalendar js : https://fullcalendar.io/
1. view :
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
}
@section PageContent{
<style>
.modal-backdrop {
z-index: 9;
}
</style>
<div class="container">
<div id='calendar'>
</div>
</div>
<!--Select Staff-->
<div class="container">
<!-- Trigger the modal with a button -->
<button type="button" id="btnSelectStaff" class="btn btn-info btn-lg" data-toggle="modal" data-target="#myModal" ></button>
<!-- Modal -->
<div class="modal fade" id="myModal" role="dialog" >
<div class="modal-dialog modal-lg">
<br /><br /><br />
<!-- Modal content-->
<div class="modal-content">
@using (Html.BeginForm("AssignTask", "PMPlan", FormMethod.Post, new { @class="form-horizontal", role="form"} ))
{
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">×</button>
<h5 class="modal-title">Create PM Task</h5>
</div>
<div class="modal-body">
<div class="row">
<label class="col-md-2 control-label">your field1</label>
<div class="col-md-4">
field1
</div>
<label class="col-md-2 control-label">field2</label>
<div class="col-md-4">
<div class="input-icon left">
field2
</div>
</div>
</div>
<br/>
<div class="row">
... more rows of fields
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Close</button>
<button type="submit" class="btn btn-primary">Submit</button>
</div>
}
</div>
</div>
</div>
</div>
}
@section scripts{
<link href="~/assets3/global/plugins/fullcalendar/fullcalendar.css" rel="external nofollow" rel="stylesheet" />
<script src="~/assets3/global/plugins/fullcalendar/fullcalendar.js"></script>
<script>
$.get("JsonURL", function (data) {
console.log(JSON.stringify(data));
$('#calendar').fullCalendar({
header: {
left: 'prev,next today',
center: 'title',
right: 'month,basicWeek,basicDay'
},
navLinks: false, // can click day/week names to navigate views
editable: false,
eventLimit: false, // allow "more" link when too many events
events: data,
dayClick: function () {
var dt = $(this).attr("data-date");
$("#hdnAssignedDate").val(dt);
//// pop up modal
$("#btnSelectStaff").click();
}
});
});
</script>
}
2. Web api controller :
...
public ActionResult GetJsonData()
{
...
var tasks = //...logic of getting tasks
...
var jsonObjs = tasks.Select(x => new FullCalendaRecord()
{
title = x.Subject,
url = "the url",
start = ...,
end = x.TargetDate.Value.ToString("yyyy-MM-dd"),
}).ToList();
return Json(jsonObjs, JsonRequestBehavior.AllowGet);
}
public class FullCalendaRecord
{
// sample data:
//[
//{
// title: 'Click for Google',
// url: 'http://google.com/',
// start: '2017-09-28',
// end:'2017-09-28'
//}
//]
public string title { get; set; }
public string url { get; set; }
public string start { get; set; }
public string end { get; set; }
}
...
以上是“Asp.net MVC如何实现scheduler”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。
网络异常,请检查网络