2012-03-15 5 views
0

自分のウェブサイトにGoogleの地図があり、マーカーでタイマーを更新する必要があります。 私の解決策は:SqlDataReaderをjavascriptに渡して解析する - 良い方法ですか?

  1. サーバーDBにSQLクエリを作成します。
  2. SqlDataReaderを取得します。
  3. 関数(RegisterStartupScript?)
  4. によってJSコードに渡します。JSは、既存のマーカーをすべてクリアし、SqlDataReaderデータに従って新しいマーカーを設定します。

このようにすると、ページ全体がリフレッシュされることはありません。
あなたの意見は?

+1

これは、SQLインジェクションやXSS攻撃などのさまざまな攻撃に対してサイトを開く可能性があるため、JavaScriptコードによるデータアクセスは作成しません。 ASP.NET MVCを使用している場合は、ビュー内で、N秒ごとにコントローラのアクションにヒットする部分的なページを使用し(javascriptを使用して)、jsonresult(sqldatareaderを使用してアクセスします。理想的にはリポジトリを使用してデータを返しますデータアクセスを抽象化する)。 – ianaldo21

+0

@ ianaldo21あなたのコメントは答えに値すると思います。 – TheRealTy

+0

@tyrongowerあなたは、「コメント」を書いていて、文字がなくなっているのと同じことを考えていました。P – ianaldo21

答えて

2

これは、SQLインジェクションやXSS攻撃などのさまざまな攻撃に対してサイトを開く可能性があるため、JavaScriptコードによるデータアクセスは作成しません。 ASP.NET MVCを使用している場合は、ビュー内で、N秒ごとにコントローラのアクションにヒットする部分的なページを使用し(javascriptを使用して)、jsonresult(sqldatareaderを使用してアクセスします。理想的にはリポジトリを使用してデータを返しますデータアクセスを抽象化する)。

+0

マップ全体を 'asp:UpdatePanel'の中に入れていますか? – toy4fun

+0

申し訳ありませんが、asp.net Webフォームの私の知識は少し衰えました。しかし、Jquery Ajax APIを使用してコードのメソッドを呼び出し、マップを含むdivを更新するためのデータを返すことができます。更新パネルを使用する必要はありません。http:// api.jquery.com/jQuery.ajax/ – ianaldo21

+0

他の方法でもできますか?つまり、コードの背後にあるタイマーはSQLクエリを作成し、そのデータを解析してマップに送ります。 – toy4fun

関連する問題