2017-09-27 11 views
0

最近私のカレンダープロジェクトに関連する質問があり、良い結果が得られましたので、別の質問をします。JqueryイベントカレンダーとMicrosoft 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 
         }); 
        }) 

私は今デバッグすることはできませんが、多分私は私がなぜ正確に使用してテストできるように、コードのほんの一部を入力しようとします紺碧のデータベースはイベントをカレンダーにロードしないようにします。

+0

「読み込まない」とはどういう意味ですか?クライアントまたはサーバー側のどこにでもエラーメッセージがありますか? P.S.うまくいけば、あなたのコードを失うことに不運があります。将来、あなたはバックアップを作成します:-) – ADyson

答えて

1

Azureデータベースを使用すると、イベントがカレンダー(jqueryおよびjavascript)にロードされないのはなぜですか?

私はdemo codeからチュートリアルをダウンロードしました。 Azure SQLを使用するように変更し、正しく動作します。

アプリケーションをローカルで実行する場合、クライアントIPをAzure SQLファイアウォールに追加して、クライアントがAzure SQLにアクセスできるようにする必要があります。私たちはAzure SQLファイアウォールについての詳しい情報をthis tutorialから得ることができました。

enter image description here

次は私の詳細手順です:

1.Replace AzureのSQLできるように、ConnectionString内の指定されたイベント・テーブルと同じスキーマを持つ

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

をのConnectionString 2.Create表Azure SQLデータベース。

3.Remove localdbとMyModel.xx関連ファイル

4.Add 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

ローカルでテストしてください。正しく動作します。

+0

ありがとうございます@トムサン。私はあなたの指示に一歩一歩進み、私のカレンダーのイベントを表示することができました。また、[ここ](https://stackoverflow.com/questions/46371017/javascript-fullcalendar-datetime-is-messed-up/46373887#46373887)に記載されているように、日付を変更する必要があると付け加えます。 – Daveyman123

関連する問題