将razorpages与实体框架和完整日历一起显示不显示事件
我在前端的实体框架上有完整的日历工作问题。数据是当前的,但在网页上不可见。 网页只需显示Canladar即可。 我指的是另一个主题,这没有解决我的问题。
后端代码
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;
using RotaryDeuxPlateaux.Model;
using Microsoft.Extensions.Configuration;
using System.Web.Mvc;
using Microsoft.AspNetCore.Http;
namespace MyApp.Pages
{
public class calendrierModel : PageModel
{
private readonly db_Context _db;
public IList<TblEvenement> Events { get; set; }
private readonly IConfiguration Configuration;
[BindProperty]
public string Title { get; set; }
[BindProperty]
public string Doc { get; set; }
[BindProperty]
public string Pat { get; set; }
[BindProperty]
public string dec { get; set; }
[BindProperty]
public DateTime date { get; set; }
//private Schedule schedule;
[BindProperty]
public JsonResult result { get; set; }
public string today = DateTime.Today.ToString();
public void OnGet()
{
result = (JsonResult)OnGetEvents();
ViewData["CalendarEents"] = result;
}
public calendrierModel(db_Context context, IConfiguration configuration)
{
// _logger = logger;
_db = context;
Configuration = configuration;
}
public class eventShow
{
public int id { get; set; }
public string title { get; set; }
public string description { get; set; }
public string start { get; set; }
public string end { get; set; }
}
public IActionResult OnGetEvents()
{
List<eventShow> events = new List<eventShow>();
eventShow show = new eventShow();
try
{
//string x = HttpContext.Session.GetString("username");
using (var context = new db_rotaryContext())
{
var query = from st in _db.TblEvenement
// where st.Id == 1 //|| st.DoctorEmail == x.Trim()
select st;
foreach (var item in query.ToList())
{
show.id = item.IdEvenement;
show.title = item.TitreEvenement;
show.description = item.Description;
show.start = item.DateDebutEvenement.Value.ToString("MM/dd/yyyy");
show.end = item.DateFinEvenement.Value.ToString("MM/dd/yyyy");
events.Add(show);
}
return new JsonResult(events);
}
}
catch (Exception ex)
{
return null;
}
}
//public async Task OnGetAsync(string sortOrder, string searchString, int? searchDay, int? searchMonth, int? searchYear, int? pageIndex)
//{
// // using System;
// IQueryable<TblEvenement> MembresIQ = from s in _db.TblEvenement
// select s;
// Events = await MembresIQ.AsNoTracking().ToListAsync();
//}
}
}
**页面布局的头**
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
@*<meta name="viewport" content="width=device-width, initial-scale=1.0" />*@
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<title>@ViewData["Title"] </title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
@*<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.1/css/font-awesome.css" rel="stylesheet">*@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script src="https://use.fontawesome.com/releases/v6.1.0/js/all.js" crossorigin="anonymous"></script>
<!-- Google fonts-->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700" rel="stylesheet" type="text/css" />
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/main.min.css" integrity="sha256-lQnxfLYgySmY6nHM7LkVqcS2RdJvFUV2p6FHg04SZN4=" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/main.min.js" integrity="sha256-RYuehXpnr248jInax6L9UXEegv6DvIRoN+lyxayiIFg=" crossorigin="anonymous"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay'
},
schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
initialDate: '2022-06-06',
navLinks: true, // can click day/week names to navigate views
selectable: true,
selectMirror: true,
eventColor: '#378000',
select: function (arg) {
var title = prompt('Evènements:');
if (title) {
var tie = prompt('Time');
}
if (title) {
calendar.addEvent({
title: title,
start: arg.start,
Starttime: tie,
end: arg.end,
EndTime: arg.EndTime
})
}
calendar.unselect()
},
eventClick: function (arg) {
if (confirm('Voulez-vous supprimer ?')) {
arg.event.remove()
}
},
editable: true,
dayMaxEvents: true, // allow "more" link when too many events
// events: $.getJSON('~/Calendrier/OnGetEvents')
// events: @ViewData["CalendarEents"];
events:"/calender?handler=events"
//"/calender?handler=events"
});
calendar.render();
});
//$(document).ready(function ()
//{
// var events = [];
// $.ajax({
// type: 'GET',
// url: '/Calendrier',
// success: function (data) {
// $.each(data, function (i, v) {
// events.push({
// title: v.TitreEvenement,
// description: v.Description,
// debut: moment(v.DateDebutEvenement),
// fin: v.DateFinEvenement != null ? moment(v.DateFinEvenement) : null,
// color: ThemeColor,
// allDay: v.isFullDay
// });
// })
// GenerateCalendar(events);
// },
// error: function (error) {
// alert('failed');
// }
// })
//})
//function GenerateCalendar(events) {
// var calendarEl = document.getElementById('calendar');
// calendarEl.FullCalendar('destroy');
// var calendar = new FullCalendar.Calendar(calendarEl, {
// initialView: 'dayGridMonth',
// schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
// defaultDate: new Date,
// timeFormat: 'h(:mm)a',
// Headers: {
// left: 'prev,next toady',
// center: 'title',
// rigth: 'month,basicweek,basicDay,agenda'
// },
// eventLimit: true,
// eventColor: '#378000',
// events: events
// });
// calendar.render();
//}
//document.addEventListener('DOMContentLoaded', function () {
// var calendarEl = document.getElementById('calendar');
// calendarEl.FullCalendar('destroy');
// var calendar = new FullCalendar.Calendar(calendarEl, {
// initialView: 'dayGridMonth',
// schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
// defaultDate: new Date,
// timeFormat: 'h(:mm)a',
// Headers:{
// left: 'prev,next toady',
// center: 'title',
// rigth: 'month,basicweek,basicDay,agenda'
// },
// eventLimit: true,
// eventColor: '#378000',
// events: events
// });
// calendar.render();
//});
</script>
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
<link href="css/RotaryStyles.css" rel="stylesheet" />
</head>
<body id="page-top">
页面
@{
ViewData["Title"] = "Calendrier";
ViewData["CalendarEents"] = Model.result;
}
<div class="container-fluid">
<div class="page-section">
<div class="container">
<div class="row">
<div id='calendar'>
</div>
</div>
</div>
</div>
</div>
I have a problem with full calendar work with Entity Framework in the front end. The data is current but isn't visible on web page.
The web page just show the canladar.
I have refer to another topic and that didn't solved my problem .
(Using razorpages entity framework to work with full calendar)
Backend Code
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.EntityFrameworkCore;
using RotaryDeuxPlateaux.Model;
using Microsoft.Extensions.Configuration;
using System.Web.Mvc;
using Microsoft.AspNetCore.Http;
namespace MyApp.Pages
{
public class calendrierModel : PageModel
{
private readonly db_Context _db;
public IList<TblEvenement> Events { get; set; }
private readonly IConfiguration Configuration;
[BindProperty]
public string Title { get; set; }
[BindProperty]
public string Doc { get; set; }
[BindProperty]
public string Pat { get; set; }
[BindProperty]
public string dec { get; set; }
[BindProperty]
public DateTime date { get; set; }
//private Schedule schedule;
[BindProperty]
public JsonResult result { get; set; }
public string today = DateTime.Today.ToString();
public void OnGet()
{
result = (JsonResult)OnGetEvents();
ViewData["CalendarEents"] = result;
}
public calendrierModel(db_Context context, IConfiguration configuration)
{
// _logger = logger;
_db = context;
Configuration = configuration;
}
public class eventShow
{
public int id { get; set; }
public string title { get; set; }
public string description { get; set; }
public string start { get; set; }
public string end { get; set; }
}
public IActionResult OnGetEvents()
{
List<eventShow> events = new List<eventShow>();
eventShow show = new eventShow();
try
{
//string x = HttpContext.Session.GetString("username");
using (var context = new db_rotaryContext())
{
var query = from st in _db.TblEvenement
// where st.Id == 1 //|| st.DoctorEmail == x.Trim()
select st;
foreach (var item in query.ToList())
{
show.id = item.IdEvenement;
show.title = item.TitreEvenement;
show.description = item.Description;
show.start = item.DateDebutEvenement.Value.ToString("MM/dd/yyyy");
show.end = item.DateFinEvenement.Value.ToString("MM/dd/yyyy");
events.Add(show);
}
return new JsonResult(events);
}
}
catch (Exception ex)
{
return null;
}
}
//public async Task OnGetAsync(string sortOrder, string searchString, int? searchDay, int? searchMonth, int? searchYear, int? pageIndex)
//{
// // using System;
// IQueryable<TblEvenement> MembresIQ = from s in _db.TblEvenement
// select s;
// Events = await MembresIQ.AsNoTracking().ToListAsync();
//}
}
}
** HEAD OF THE PAGE LAYOUT**
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="utf-8" />
@*<meta name="viewport" content="width=device-width, initial-scale=1.0" />*@
<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate">
<meta http-equiv="Pragma" content="no-cache">
<meta http-equiv="Expires" content="0">
<title>@ViewData["Title"] </title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
@*<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.1/css/font-awesome.css" rel="stylesheet">*@
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.13.0/css/all.css">
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<!-- Favicon-->
<link rel="icon" type="image/x-icon" href="assets/favicon.ico" />
<!-- Font Awesome icons (free version)-->
<script src="https://use.fontawesome.com/releases/v6.1.0/js/all.js" crossorigin="anonymous"></script>
<!-- Google fonts-->
<link href="https://fonts.googleapis.com/css?family=Montserrat:400,700" rel="stylesheet" type="text/css" />
<link href="https://fonts.googleapis.com/css?family=Roboto+Slab:400,100,300,700" rel="stylesheet" type="text/css" />
<link href="//netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css" rel="stylesheet" />
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/main.min.css" integrity="sha256-lQnxfLYgySmY6nHM7LkVqcS2RdJvFUV2p6FHg04SZN4=" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/main.min.js" integrity="sha256-RYuehXpnr248jInax6L9UXEegv6DvIRoN+lyxayiIFg=" crossorigin="anonymous"></script>
<script>
document.addEventListener('DOMContentLoaded', function () {
var calendarEl = document.getElementById('calendar');
var calendar = new FullCalendar.Calendar(calendarEl, {
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay'
},
schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
initialDate: '2022-06-06',
navLinks: true, // can click day/week names to navigate views
selectable: true,
selectMirror: true,
eventColor: '#378000',
select: function (arg) {
var title = prompt('Evènements:');
if (title) {
var tie = prompt('Time');
}
if (title) {
calendar.addEvent({
title: title,
start: arg.start,
Starttime: tie,
end: arg.end,
EndTime: arg.EndTime
})
}
calendar.unselect()
},
eventClick: function (arg) {
if (confirm('Voulez-vous supprimer ?')) {
arg.event.remove()
}
},
editable: true,
dayMaxEvents: true, // allow "more" link when too many events
// events: $.getJSON('~/Calendrier/OnGetEvents')
// events: @ViewData["CalendarEents"];
events:"/calender?handler=events"
//"/calender?handler=events"
});
calendar.render();
});
//$(document).ready(function ()
//{
// var events = [];
// $.ajax({
// type: 'GET',
// url: '/Calendrier',
// success: function (data) {
// $.each(data, function (i, v) {
// events.push({
// title: v.TitreEvenement,
// description: v.Description,
// debut: moment(v.DateDebutEvenement),
// fin: v.DateFinEvenement != null ? moment(v.DateFinEvenement) : null,
// color: ThemeColor,
// allDay: v.isFullDay
// });
// })
// GenerateCalendar(events);
// },
// error: function (error) {
// alert('failed');
// }
// })
//})
//function GenerateCalendar(events) {
// var calendarEl = document.getElementById('calendar');
// calendarEl.FullCalendar('destroy');
// var calendar = new FullCalendar.Calendar(calendarEl, {
// initialView: 'dayGridMonth',
// schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
// defaultDate: new Date,
// timeFormat: 'h(:mm)a',
// Headers: {
// left: 'prev,next toady',
// center: 'title',
// rigth: 'month,basicweek,basicDay,agenda'
// },
// eventLimit: true,
// eventColor: '#378000',
// events: events
// });
// calendar.render();
//}
//document.addEventListener('DOMContentLoaded', function () {
// var calendarEl = document.getElementById('calendar');
// calendarEl.FullCalendar('destroy');
// var calendar = new FullCalendar.Calendar(calendarEl, {
// initialView: 'dayGridMonth',
// schedulerLicenseKey: 'CC-Attribution-NonCommercial-NoDerivatives',
// defaultDate: new Date,
// timeFormat: 'h(:mm)a',
// Headers:{
// left: 'prev,next toady',
// center: 'title',
// rigth: 'month,basicweek,basicDay,agenda'
// },
// eventLimit: true,
// eventColor: '#378000',
// events: events
// });
// calendar.render();
//});
</script>
<!-- Core theme CSS (includes Bootstrap)-->
<link href="css/styles.css" rel="stylesheet" />
<link href="css/RotaryStyles.css" rel="stylesheet" />
</head>
<body id="page-top">
THE PAGE
@{
ViewData["Title"] = "Calendrier";
ViewData["CalendarEents"] = Model.result;
}
<div class="container-fluid">
<div class="page-section">
<div class="container">
<div class="row">
<div id='calendar'>
</div>
</div>
</div>
</div>
</div>
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论