私はサーバー上でJavaScriptを生成する必要があります。 JavaScriptを使用してASPXページを使用してこれを行うことはできますが、警告が表示されていますが、構文のハイライト効果はありません。 .Net環境/ Visual Studioに特定のASPXページがHTML以外のテキストを出力すると伝える方法はありますか?ASP.Netのテンプレートを使用したJavaScriptの生成
理由はローカライズです。私のローカライズされた文字列は、サーバーから来て、私はページ上のJavaScript構造体でこれらを必要とします。私が思いつく最も簡単な方法は、JSONオブジェクトのローカライズされた文字列を定義する1つのJSファイル(今のところl18n.jsと呼ぶ)です。
l18n = {
OK: <%= GetString("OK") %>,
Cancel: <%= GetString("Cancel") %>,
ConfirmDialog: {
Title: <%= GetString("ConfirmTitle") %>,
Message: <%= GetString("ConfirmMessage") %>
}
// .. etc.
}
これが言ったように私はちょうどASPXページ内のJavaScriptを投げ、UI
var okButton = $('<button>' + l18n.OK + '</button>')
の他の部分でローカライズされた文字列を使用することができます。しかし、l18n.js.aspx、警告をもたらし、構文のハイライトは提供されません。少なくとも警告を取り除く良い方法はありますか? HRESULTからの例外:現在の1は、デザイナーファイルの
生成が失敗した0x80042929
を、ケースには、プロジェクトが.NET 2.0
明確化
の上に構築された事項言語はユーザーが選択したものではないので、常に変更する必要はありません。また、ETagとして言語の値を使用できるようにして、キャッシュはissの大きなものであってはなりませんue。ブラウザの観点から見ると、私はテンプレートJSを静的ファイルとみなしています。私はそれを自動化することができれば〜10の静的なJSファイルを別々に宣言したくないだけです。
大井! JSONのシリアライゼーションはまったく考えられませんでした。 .Net 2.0でこれを行うための便利なライブラリを見つけて、それがどのように機能するか見てみる必要があります。そして私はASPXがFormsを表現することになっていることを知っています。これが私が個人的にASP.Netを嫌う理由です。 :|あまりにもCOM相互運用性などの他の多くのオプションがありません。シリアライズの仕組みを教えてあげます。 –
なぜASPXは特定の意味を持っているので、ASP.NETを嫌うのかわかりません。これはおそらく、ASPXファイルが従来のASPのASPファイルと精神的に同等であると考えられているという誤解です。 ASP.NETにはこのような同等性がありません。非HTMLの生の出力を生成するには.ashxが正しいツールです。静的コンテンツはサポートされていないため、<% %>マークアップしてください。 IMOこれは良いことです。 – AnthonyWJones
私はすべてのページを「フォーム」とみなし、抽象化ASP.Netが提供するものが非常に漏れやすいとは思わない。私はASP.Netがそれが意味するものにとっては悪いことだと言っているのではないが、私は一般的なWeb開発では「すべてが形式だ」態度が間違っていると感じている。 ASPXに特定の意味があることは嫌いではありません。ASP.Netには、フォーム以外のHTMLページを設計するときに "フォーム"コンストラクトを使用する他のテンプレート可能なコンストラクトは存在しません。 –