javascript - Jquery 事件日历和 Microsoft Azure 问题

标签 javascript c# jquery ajax azure

我最近在这里问了一个与我的日历项目有关的问题,并得到了很好的结果,所以我想我会问另一个关于它的问题。

这是我正在遵循的教程 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 防火墙的更多信息。

enter image description here

以下是我的详细步骤:

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; }
    }

项目文件结构:

enter image description here

5.本地测试,运行正常。

enter image description here

关于javascript - Jquery 事件日历和 Microsoft Azure 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46458532/

相关文章:

javascript - Vue 未使用 Axios 请求中的数据从数组更新 Vuetify 数据表

c# - 具有任意列和行的 Wpf DataGrid 数据绑定(bind)

c# - 用户代理在 .NET Core 中的 header 格式不正确

javascript - 有没有办法用 JavaScript 在 HTML 中强制硬编码样式?

javascript - PHPSESSID从B域到A域在Chrome和Firefox上使用,而不是在Safari和IE上使用

javascript - 使用 javascript 对表格列求和

javascript - 无法解析包含单引号的 json 数据

javascript - 用javascript获取字符串的路径?

javascript - 简化代码

c# - 从母版页的代码后面访问 RadEditor 控件...当它存在时找不到任何 radEditor 控件...有什么问题吗?