問題タブ [asp.net-4.0]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - ASP.Net 4.0-SiteMapの構築に応答が必要ですか?
プロジェクトを.Net4.0にアップグレードする際に問題が発生し、問題の理由(または少なくともそれを引き起こす変更)を見つけるのに問題があります。4.0の鮮度を考えると、まだ問題についてのブログはそれほど多くないので、ここの誰かがアイデアを持っていることを望んでいます。はじめに:これは、3.5SP1から4.0までのWebフォームアプリケーションです。
SiteMapを繰り返し処理し、そこにあるデータに基づいてルートを構築している場合(ほとんどのApplication_Start
場合、いくつかのユーティリティが追加されたURLをきれいにします)、その部分は失敗していません...または少なくともそれほど遠くはありません。
SiteMap.RootNode(application_start内)を呼び出すと、 4.0がそれを食い尽くすようです。XmlSiteMapProvider.GetNodeFromXmlNode
メソッドが変更されているため、リフレクターを見ると、HttpResponse.ApplyAppPathModifier
ここでヒットしていることがわかります。
HttpResponse
2.0 CLRのこのメソッドではまったく使用されていなかったため、4.0では正常に機能していましたが、このスタックの結果としてこのメソッドが呼び出されます。
Response
ここでは4.0で使用できないため、エラーが発生します。これを再現するために、テストケースをグローバルでこれに絞り込むことができます。
質問:ここで明らかな何かが欠けていますか? または、起動時にSiteMapに関連するものに推奨される4.0で追加された別のイベントはありますか?
興味がある/助けてくれる人のために、私は非常に最小限のプロジェクトを作成しました(デフォルトのVS 2010 ASP.Net 4.0サイト、すべてのベルとホイッスルが削除され、空白のサイトマップとApplication_Start
コードのみが追加されました)。これは、ここで入手できる小さな10kbのzipです:http ://www.ncraver.com/Test/SiteMapTest.zip
アップデート:
Application_BeginRequest
優れた解決策ではありませんが、現在の回避策は、次のようにで作業を行うことです。
私はこれが特に好きではありません、問題を回避するためにイベントの乱用のように感じます。SiteMapでの.Net4の動作は変更されない可能性が高いため、誰かが少なくともより良い回避策を持っていますか?
asp.net-ajax - ASP.Net AJAX 4.0 テンプレート ファイルのリリース バージョンはどこにありますか?
ASP.Net AJAX 4.0 テンプレートのリリース バージョンを動作させようとしていますが、JavaScript ファイルが見つかりません。ベータ版では、MicrosoftAjaxTemplates.js、MicrosoftAjaxAdoNet.js、および MicrosoftAjaxDataContext.js を参照する必要がありました。
ベータ CDN バージョン (例: http://ajax.microsoft.com/ajax/beta/0911/MicrosoftAjaxTemplates.js ) ですべてを動作させることができます。しかし、私の人生では、1. これらのファイルのリリース CDN バージョンまたは 2. Release ASP.Net AJAX 4.0 JavaScript パッケージ全体をダウンロードする場所を見つけることができません。
ファイルは確かにhttp://www.asp.net/ajaxlibrary/CDNAjax4.ashxの ASP.Net AJAX 4.0 CDN にリストされていません。ファイルの名前が変更された可能性がありますか?または、まだリリースされていない場合、いつリリースされ、これらのファイルの最新バージョンは CodePlex のどこにありますか?
理論的には、これはとてつもなく簡単な質問であり、StackOverflow で質問するのは少し恥ずかしいですが、自分で答えを見つけることができませんでした。どんな助けでも大歓迎です。
ありがとう - リー
c# - ASP.NET4.0Webフォームルーティング
ルーティングを使用するように変換したい既存のサイトがあります。ここでScottGuthrieの投稿を読んだ後、ほとんどの状況で機能する実用的なサンプルを作成しました。ただし、既存のサイトのすべてのページが特定のパターンに一致するわけではないため、データベースをチェックして、使用するルート(宛先.aspxページ)を決定する必要があります。
たとえば、ほとんどのページは次のようになります。
http://www.mysite.com/people/person.html
これは問題ありません。「people」ディレクトリがあるため、これらをview_person.aspxページに簡単にルーティングできます。
しかし、いくつかのページはこのようなものです:
http://www.mysite.com/category_page.html http://www.mysite.com/product_page.html
これには、データベースをチェックして、view_category.aspxページまたはview_product.aspxページのどちらにルーティングするかを確認する必要があります。 そして、これは私が立ち往生しているところです。 データベースをチェックしてルートを返すIRouteHandlerを作成しますか?それとももっと良い方法はありますか?私がその種類の適合を見つけた唯一のコードは、この質問への答えです。
前もって感謝します。
asp.net - IIS6.0および.Net4を使用するDefault.aspx?
- IIS6.0に.net4asp.netサイトを展開しました。
- Default.aspxは、デフォルトのドキュメントの1つとして構成されています。
- 次のURLを使用してサイトにアクセスする場合
http://testsite
レンダリングすることを期待しています
http://testsite/Default.aspx
しかし、代わりに404 Not found error
。.Net 2.0にデプロイされたとき、この問題は発生しませんでした。サーバーで変更されたのは、.NET2.0ではなく.NET4を使用していることだけです。
更新:次のリンクを試しましたが、機能しませんでした。
サーバー上のフレームワークのバージョンは.NET4RCです。サーバーに最新の.NET4バージョンをインストールすると役に立ちますか?
更新:問題は現在解決されています。問題は、Web.Configに独自のHttpHandlerを追加する、使用していたサードパーティのアップロードコントロールでした。このHttpHandlerは.NET4で失敗し始めました。
model-view-controller - ASP.NETWebFormsとMVC[VS2010/.NET4.0の発表後]
Webフォームに対するMVCの最大の利点の2つは、存在しないビューステートとURLルーティングでした。VS2010および.NET4.0には、Webフォーム用の組み込みURLルーティングと、ビューステートのより優れた制御が組み込まれています。
MVCデザインパターンとその一般的な軽量性のために、エクストラネットサイトにMVCを使用することを推奨していますが、この新しい発表に照らして、Webformsはギャップを埋めましたか?なぜあなたはまだWebフォームよりもMVCを選ぶのですか?
ありがとう
asp.net - asp.net 4.0 Webフォーム-簡単な方法でContentPlaceHolder1_をクライアントIDから除外する方法は?
過去にクライアントIDのマングリングのためにマスターページの使用を避けた既存のWebフォームサイトにマスターページを導入しようとしています(マングリングに対処したくないので、どこでも<%foo.ClientID%>を実行します:)
目標:「静的」ID値(サーバーコントロールのid属性にあるものは何でも)を使用します。ただし、データにバインドされた/繰り返しのコントロールは、これらの場合に機能しなくなるため、接尾辞などを区別する必要があります(基本的に予測可能)
サイトがASP.NET4.0に移行したので、最初に静的のClientIDMode(web.config内)を使用しようとしましたが、すべて同じ結果になったため、繰り返し制御を行う場所(グリッドビュー内のチェックボックスなど)が多すぎました。 id。
そこで、繰り返しコントロールに競合するIDが含まれないように、Predictableを(ここでもweb.configで)試しました。マスターページのコンテンツプレースホルダー(実際には名前付けコンテナー)がまだ反映されていることを除けば、うまく機能します。結果のクライアントID(たとえば、ContentPlaceHolder1_someCheckbox)。
確かに、web.config設定を静的のままにして、すべてのデータバインド/繰り返しコントロールを実行してそれらをPredictableに切り替えることはできますが、これらのNにClientIDMode属性を分散させることなく、その効果を得る簡単で簡単な方法があることを望んでいます。場所の数(または、clientidmodeなどを設定する独自のusercontrolを使用して、これらすべてのデータバインドされたコントロールを拡張します)。
web.configを静的に設定したままにして、マスターまたはベースページハンドラー(preinit?それが機能するかどうかわからない)を実行して、OfType <INamingContainer
>()を使用してコントロールをウォークすることも考えました(タイプの方が良い選択かもしれませんが、しかし、それはリピーターとグリッドビューを見ると良い出発点のようです)そしてそれらを予測可能に設定して、繰り返しコントロールの外側のすべての「通常の」ものに対して静的になりますが、グリッドビュー/リピーターのような内部の静的なものを扱う必要はありません/等。
子IDに含まれないようにコンテンツプレースホルダーを「オプトアウト」するようにマークする方法がわかりません。プレースホルダーのIDを空/空白に設定しても、必須の属性であるため機能しません:)
その時点で、私は私が行方不明であったより良い/より簡単な方法があると思い、SOで尋ねることに決めました:)
編集:すべての'fetch by id' jquery呼び出しを$('#foo')からfetch_by_id('foo')に変更し、その関数が$('#foo')をチェックして'正しいもの'を返すようにすることを考えました.length、次に$('#ContentPlaceHolder1_foo')。length(およびおそらく他のパターン)または単に$('#foo、#ContentPlaceHolder1_foo')(ここでも、他のパターンの可能性があります)を返すようにしますが、要素をフェッチするすべての場所を変更しますby idもかなり醜いようでした。簡単にできるように、可能であればその抽象化レイヤーを避けたいと思います:)
Edit2:id $ ='foo'のjQueryセレクターを使用したWRT:
そのようなことをする私の心配は(実際よりも想像されているかもしれませんが)、ページ内のIDの1つが別のIDで終わっているときです。たとえば、ページに「foo」と「barfoo」のIDを持つ要素がある場合、id $=「foo」には誤って「barfoo」も含まれます。確かにそれを防ぐ方法はたくさんありますが(要素タイプのサフィックスなど、fooCheckboxやbarfooButtonなど)、既存のソースをスキャンしたり、名前付けに新しいルールを適用したりする必要はありませんでした。
すべてのコントロールがサーバーコントロールであるとは限らないため、通常のdiv id = "foo"が見つからないため、$ ='_foo'もできません(そして、runat="server"を避けて名前 :)
私が考えたもう1つのことは、要素ごとに一意のcssクラス名を作成し、代わりにそれを選択することでした(クラスは明らかに混乱しないため)が、そうすることは非常にハッキーであり、「実際の」CSS作業を行うときに確かに物事を混乱させます:)
asp.net-mvc-2 - IntegrationTests - 潜在的に危険な Request.Path 値がクライアントから検出されました
次のエラーが表示されます:A potentially dangerous Request.Path value was detected from the client (?).
この URI: の場合http://www.site.com/%3f
。
この種のエラーすべてに対応する統合テストを作成するにはどうすればよいですか?
このすべてのエラーに対してテストしたい:
url - ASP.NET 4 URL の制限: URL に %3f 文字を含めることができない理由
この URL は次のエラーを返します。
私はすでにこれをweb.configに入れています:
このエラーを修正するにはどうすればよいですか?
asp.net - ASP.NET4.0ルーティングとサブフォルダー
私はこのようなフォルダ構造を持っています:
次のようなユーザーコントロールにリンクがあります。
そして、私のRegisterRoutes()メソッドには、次のものがあります。
動作しますが、次のURLを生成します。
私が欲しいのはこれです:
これは、すぐに使用できる4.0ルーティングで可能ですか?
UPDATE 2-2010年5月14日:
どうやら、.aspx Webフォームに含まれているフォルダーと同じ名前を付けることで、追加の問題が発生したようです。最後に、これは私のために働いたものです:
Rajによって提供されたリンクは、私が答えを見つけるのに役立ちました:-)
http://msdn.microsoft.com/en-us/library/cc668201.aspx
c# - .NET4.0コントロールのRenderOuterTableプロパティに関する問題
新しい4.0フレームワークの概要によると、属性RenderOuterTable = "false"を属性をサポートするコントロールに追加し、CSSに適したコードが吐き出されるのを確認できるはずです。つまり、HTMLテーブルはありません。
これをテストするために、次のコードを使用してログインコントロールを基本的な新しいWebページにスローしました。
結果?不格好なHTMLテーブル出力。これは、この属性がfalseに設定されている場合はおそらく発生しません。出力は次のとおりです。
うまくいけば、あなたはポイントを取得します。これらのコントロールがテーブルを出力しないようにするにはどうすればよいですか?これは非常に迷惑です。