我最近在这里问了一个与我的日历项目有关的问题,并得到了很好的结果,所以我想我会问另一个关于它的问题。
这是我正在遵循的教程 http://www.dotnetawesome.com/2017/07/curd-operation-on-fullcalendar-in-aspnet-mvc.html
不幸的是,当涉及到这个项目时,我丢失了最近正在处理的代码。但我只是想在再次重新开始编码之前知道:当我使用 Azure 数据库时,为什么事件不会加载到日历(jquery 和 javascript)上? 特别是在发布事件之后,事件不会加载。当我使用常规 sql 数据库时它们会加载,但当使用 Azure sql 数据库时它们不会加载。我找不到有关类似问题的任何信息,并且很好奇这是否是与 Json 相关的已知问题?
以下是从后端获取事件的代码片段:
FetchEventAndRenderCalendar();
function FetchEventAndRenderCalendar() {
events = [];
$.ajax({
type: "GET",
url: "/home/GetEvents",
success: function (data) {
$.each(data, function (i, v) {
events.push({
eventID: v.EventID,
title: v.Subject,
description: v.Description,
start: moment(v.Start),
end: v.End != null ? moment(v.End) : null,
color: v.ThemeColor,
allDay: v.IsFullDay
});
})
我现在无法调试,但也许我会尝试仅输入部分代码,以便我可以测试为什么使用 azure 数据库可以使事件不会加载到日历上。
最佳答案
Why do events not load on a calendar(jquery and javascript) when I use an Azure database?
我下载了demo code从你提到的教程中。然后我将其更改为使用 Azure SQL,并且它可以正常工作。
如果我们在本地运行应用程序,我们需要将客户端IP添加到Azure SQL防火墙,以让客户端访问Azure SQL。我们可以从 this tutorial 获取有关 Azure SQL 防火墙的更多信息。
以下是我的详细步骤:
1.将连接字符串替换为Azure SQL连接字符串
<connectionStrings>
<add name="MyDatabaseEntities" connectionString="Server=tcp:sqlservername.database.windows.net,1433;Initial Catalog=databasename;Persist Security Info=False;User ID={user};Password={password};MultipleActiveResultSets=False;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.Sqlclient" />
</connectionStrings>
2.在 Azure sql 数据库中创建一个与给定事件表具有相同架构的表。
3.删除localdb和MyModel.xx相关文件
4.添加Event.cs和MyDatabaseEntities.cs文件
public class Event
{
public int EventID { get; set; }
public string Subject { get; set; }
public string Description { get; set; }
public System.DateTime Start { get; set; }
public Nullable<System.DateTime> End { get; set; }
public string ThemeColor { get; set; }
public bool IsFullDay { get; set; }
}
public partial class MyDatabaseEntities : DbContext
{
public MyDatabaseEntities()
: base("name=MyDatabaseEntities")
{
}
public virtual DbSet<Event> Events { get; set; }
}
项目文件结构:
5.本地测试,运行正常。
关于javascript - Jquery 事件日历和 Microsoft Azure 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46458532/