javascript - 有没有办法让 FullCalendar 成为后端引用的对象?ASP.NET C#
问题描述
我有一个下拉列表,每次选择它都会根据从该专业的下拉列表中选择的 serviceID 更改日历上的视图。这是我正在尝试为项目创建的非 mvc 网站,我想让您每次去不同月份时都刷新约会?这是我的代码
默认.aspx
<script id='FullCalendar' type="text/javascript">
document.addEventListener('DOMContentLoaded', function () {
var sl_calendarEl = document.getElementById('sl_calendar');
var sl_calendar = new FullCalendar.Calendar(sl_calendarEl, {
height: '100%',
expandRows: true,
slotMinTime: '08:00',
slotMaxTime: '18:00',
headerToolbar: {
left: 'prev,next today',
center: 'title',
right: 'dayGridMonth,timeGridWeek,timeGridDay,listWeek'
},
initialView: 'dayGridMonth',
allDaySlot: false,
navLinks: true,
editable: true,
selectable: true,
nowIndicator: true,
dayMaxEvents: true,
eventa: [<%=DataAsJson%>]
});
console.log(sl_calendar.view.currentStart);
console.log(sl_calendar.getEvents());
sl_calendar.render();
});
</script>
数据AsJson
public string DataAsJson
{
get
{
String connectionString = WebConfigurationManager.ConnectionStrings["Database"].ConnectionString;
SqlConnection myConnection = new SqlConnection(connectionString);
myConnection.Open();
string varYear = "2020";
string varMonth = "08";
String query = "SELECT ((isnull(Specialist.[lastName],'')+', ')+isnull(Specialist.[firstName],'')) AS name, CalendarDate, sc.[serviceID], srv.name, [specialistID], S.lastName, S.firstName, [callTypeID], CONVERT(time,LEFT(st.starttime,2)+':'+RIGHT(st.starttime,2)) AS starttime, CONVERT(time,LEFT(et.endtime,2)+':'+RIGHT(et.endtime,2)) AS endtime ";
query = query + "FROM [sldb].[dbo].[ServiceCalendar] AS sc JOIN [dbo].[StartTime] AS st ON st.id = sc.starttimeID JOIN [dbo].[EndTime] AS et ON et.id = sc.endtimeID JOIN [dbo].[Services] AS srv ON srv.id = sc.serviceID JOIN [dbo].[Specialist] AS S ON S.id=sc.specialistID JOIN Specialist ON Specialist.id = sc.specialistID ";
query = query + "WHERE RIGHT([calendarDate],4) = "+varYear+" AND LEFT([calendarDate],2) = "+varMonth+" AND sc.Active=1 AND S.active=1 and sc.serviceID = sc.serviceID and sc.serviceID = " + DropDownList1.SelectedValue;
Debug.WriteLine(query);
SqlCommand cmd = new SqlCommand(query, myConnection);
SqlDataReader reader = cmd.ExecuteReader();
string str = "";
List<object> myList = new List<object>();
if (reader.HasRows)
{
var indexOfId = reader.GetOrdinal("serviceID");
var indexOfName = reader.GetOrdinal("name");
var indexOfCD = reader.GetOrdinal("calendarDate");
var indexOfStartTime = reader.GetOrdinal("starttime");
var indexOfEndTime = reader.GetOrdinal("endtime");
while (reader.Read())
{
var ID = reader.GetValue(indexOfId).ToString();
var calendarDate = reader.GetValue(indexOfCD).ToString();
var name = reader.GetValue(indexOfName).ToString();
calendarDate = calendarDate.Substring(4, 4) + "-" + calendarDate.Substring(0, 2) + "-" + calendarDate.Substring(2, 2);
var starttime = reader.GetValue(indexOfStartTime).ToString();
var endtime = reader.GetValue(indexOfEndTime).ToString();
str = str + "{ title:'" + name + "', serviceID: '" + ID + "', start: '" + calendarDate + "T" + starttime + "', end: '" + calendarDate + "T" + endtime + "'},";
}
}
var strL = str.Length;
Console.WriteLine(str);
Debug.WriteLine(str);
Debug.WriteLine(strL);
if (strL > 5)
{
str = str.Substring(0, strL - 1);
}
return str;
}
}
解决方案
推荐阅读
- hive - 地图侧连接如何比常规连接性能更差(HIVE)
- flutter - 如何在颤振中传递访问令牌值
- php - PHP 检测当前标准输出是否支持 ANSI 转义字符
- if-statement - PowerBI 多个 If 不拆分数据
- authentication - 在 Nuxt-auth fetchUser CustomStrategy 中丢失用户数据
- flutter - 如何在 Flutter 中定位小部件 toLeftOf 或 toRightOf
- html - 两个表相互重叠html
- mysql - 带有工资对的 MySQL 查询
- php - 模拟所有以特定字符串开头的方法
- c# - .net core 3.1 不加载相对路径并得到错误 404 not found