問題タブ [servercontrols]

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.

0 投票する
1 に答える
1054 参照

nested - Page.ClientScript.RegisterClientScriptBlock およびネストされたサーバー コントロール

ネストされたサーバー コントロール環境の PreRender で Page.ClientScript.RegisterClientScriptBlock を使用しています。スクリプトはページに書き込まれません。なぜこれが起こるのか誰か知っていますか?

0 投票する
1 に答える
1133 参照

c# - サーバー コントロールから動的に ModalPopupExtender コントロールを作成するにはどうすればよいですか?

私は、多くのことを静かにする複合サーバー コントロールを持っています。その 1 つは、動的に生成された HtmlAnchor コントロールの ModalPopup OnClick を表示することです。

この ModalPopupExtender コントロールをサーバー コントロールで動的に作成し、内部からトリガーする必要があります。

私はそれを作成し、設計時に作成されたボタンからトリガーすることができましたが、実行時にはできませんでした。これは、リンクに割り当てられた ID が ModalPopupExtender コントロールによって常に検出されないためです。

静的 ID を割り当てようとしましたが、成功しませんでした。誰でも助けることができますか?

0 投票する
2 に答える
190 参照

c# - サーバー制御/データ アクセスのベスト プラクティスは?

Web 親アプリ内からデータにアクセスし、必要なデータをコントロールに渡してプロパティを介して戻すか、(Web サービスの) 参照または URL ポインターをコントロールに渡して、それが保持するフィールドのデータにアクセスできるようにする方が良いですか?親は、サーバー コントロールが使用する他の場所でデータを使用する必要がないことに注意してください。

0 投票する
4 に答える
926 参照

asp.net - ASP.NET サーバー コントロールの SUBCLASSES を常に使用しますか? そうでない場合、なぜですか?

私の ASP.NET 以前の開発環境には、ほぼ普遍的なベスト プラクティスがありました。

なんで?それはあなたにフックを与えたからです...コードを記述し、アプリケーション全体に適用するための1つの場所。

例: Web フォーム アプリのすべての TextBox の右側に疑問符アイコンを表示することにしたとします。アイコンがレンダリングされ、その上にカーソルを置くとバブル ヘルプがポップアップ表示されます (TextBox.ToolTip プロパティにテキストがある場合)。

MS 提供の TextBox コントロールを使用している場合、どのようにそれを達成しますか?

アプリケーションで TextBox のサブクラス化されたバージョンを一貫して使用している場合は、そのオブジェクトに移動し、アイコンをレンダリングするメソッドを追加して、お気に入りの bubblehelp JavaScript をストックすることができます。

プレスト!アプリのすべての TextBoxes は小さなクエスチョン マーク アイコンを生成します。または、ToolTip テキストを設定すると生成されます。

時間の経過とともに、すべての TextBox を簡単に適応させて拡張することができます。これは、すべての TextBox に変更可能な基本クラスがあるためです。ツール ヒントがリソース ファイルから設定される機能を追加します。次に、TextBox の左側にアイコンを表示する ShowOnLeft プロパティを追加します。iPhone のパスワード コントロールで最後に入力した文字が表示され、それより前の文字が隠されているのが好きですか? サブクラス化された TextBox のパスワードに対するデフォルトの動作を、その動作を実装するメソッドでオーバーライドします。

ASP.NET で、この慣行の支持者に会ったことはありません。私はちょうどそれを逃したのですか?2 ダースの ASP.NET デザイン パターンを説明する記事には、関連するものは何もありません。サーバー コントロールをサブクラス化する方法に関する投稿では、数字のみを受け入れる TextBox など、特別な目的の 1 回限りの機能について説明していますが、「常にサブクラス化されたコントロールを使用してください!」という普及を推奨するものはありません。私が昔加入していたポリシー。

ASP.NET で作業するときに、この古くからの知恵を適用することは理にかなっていますか? ネイティブ サーバー コントロールと同等のサブクラス化されたものを常に使用するには?

そうでない場合 - なぜですか?この猫の皮を剥ぐ他の方法はありますか? 特定のコントロールのアプリケーションのすべてのインスタンスを拡張できる場所を 1 つだけ提供する手法ですか?

それについて聞きたいです。TextBoxQMarkコントロールが必要です。:-)

TIA - ホイスター

0 投票する
4 に答える
199 参照

asp.net - 「醜い」長いコントロールClientIDを回避するために、プレースホルダーにコントロールを生成するのは奇妙ですか?

サーバーコントロールによるこの長いIDがますます嫌いになっています...

しかし、コードビハインドでそれを生成する他の方法は、asp.netの簡単なことの意味ではないと思いますか?

それで、あなたはあなた自身でその方法を好みますか?来年は会社で中規模から大規模のプロジェクトを作成する予定です。それが私が尋ねる理由です。私自身はPHPから来ており、クリーンなソースコードで覚えている間、私は病気になるでしょう:)

私はasp.netWebフォームを使用していますが、実際には、クールなソリューションを短時間で簡単に開発できます。MVCのいくつかの印象の後、この方法でも可能かどうかはわかりません。

0 投票する
1 に答える
638 参照

c# - CompositeDataBoundControl - DummyDataSource が原因でイベントが発生する前にデータバインドされた値が上書きされる

CompositeDataBoundControl から継承するカスタム サーバー コントロールがあります。ヘッダー テンプレート、フッター テンプレート、アイテム テンプレートの 3 つのテンプレートがあります。項目テンプレートには、項目を削除するかどうかを決定するために使用するチェックボックスを含めることができます。

フッターおよび/またはヘッダー テンプレートには、CommandName が「DeleteItem」のボタンがあります。そのボタンがクリックされると、OnBubbleEvent でイベントを処理します。

問題は、イベントが発生する前にasp.netがコントロール階層を再作成する必要があるため、CreateChildControlsメソッドがすでに実行されているため、Itemがnullであることです。DummyDataSource と null オブジェクトのリストを使用して、コントロール階層を再作成します。

}

問題は次の行です: ItemData container = new ItemData (e.Current as OrderItem); イベントが発生する前にコントロール階層が再構築されると、e.Current が null になるため、削除対象としてマークされた項目を見つけようとすると、元の値が上書きされているため 0 が返されます。

これを修正する方法について何か提案はありますか?

0 投票する
1 に答える
204 参照

c# - カスタム サーバー コントロールとユーザー コントロールのパフォーマンスに違いはありますか?

基本的に同じことを行う 2 つのコントロールを考えてみましょう。たとえば、ページング、並べ替え、およびデータ キャッシュを備えたグリッドビューのようなウィジェットです。どちらも同じ 10,000 行のデータ ソースにバインドされています。1 つはカスタム サーバー コントロールで、もう 1 つはユーザー コントロールです。パフォーマンスに違いがある理由はありますか?

コミュニティがこれについて考えていることをただ不思議に思っています。

0 投票する
3 に答える
9578 参照

asp.net - Web サーバー コントロールに静的画像リソースを埋め込む方法は?

ツリービューを表す Web サーバー コントロールを作成します。したがって、展開/折りたたみには + と - の 2 つの画像を使用したいと考えています。ページにレンダリングするときに画像ソースとして使用できるように、これをコントロールに組み込むにはどうすればよいですか?

これはコンパイル済みの Web コントロール ライブラリにあるため、Web アプリケーションの外部画像に依存したくありません。

編集:Andre Kraemerによるこの回答
に基づいて、私は次のことを行いました:

AssemblyInfo.vb では:

私のRenderContentsオーバーライドでは:

私のアセンブリ名はMyWebControlsです。

私のルート名前空間はMyCompany.MyWebControls.

画像plus.gifと画像minus.gifは という名前のフォルダーResourcesにあり、画像のBuild ActionはEmbedded Resourceに設定されています。

それでもうまくいきません。エラーは発生しません。生成された画像の URL をブラウザーで直接試してみましたが、ボットは何も起こらず、空白のページだけです。

注:
リソース名に無効なパスを使用しようとしましたが、結果はまったく同じでした。実際のリソースをリソース名にマップするために何か特別なことをする必要があるのではないかと考えました。AssemblyInfo で指定されたものとは異なる名前をコードで使用した場合にのみ、404 Not Found エラーが発生しました。パスが実際のリソースを指していたこととは関係ありません。

編集:

私は解決策を見つけました!

C# と VB の違いであることがわかりました。この質問に対する私自身の回答を参照してください。

0 投票する
4 に答える
367 参照

asp.net - asp.net コントロールと html コントロールと混同している

ASP.net プロジェクトで Ajax を使用する予定です。ただし、Web サイトのメンバー パネルがすべてのブラウザーで機能するようにしたいと考えています。ブラウザーの独立性が必須である一部のフォームでは、Ajax を使用しないことにしました。

ASP.NET コントロールと HTML コントロール、またはその両方を使用する必要があるかどうかで混乱しています。

2 つの質問があります。

  • いずれかのアプローチを使用して直面する可能性のある問題はありますか?
  • また、効率とパフォーマンスを考慮すると、どちらが優れていますか?
0 投票する
2 に答える
3359 参照

c# - バインド中にBulletedListコントロールのlistitemsにカスタムIDを設定するにはどうすればよいですか?

ページロードのBulletedListコントロールをデータソースにバインドしています。バインド中に、このBulletedListのListItemsにカスタムIDを設定します。
このカスタムIDは、現在の場合になります。"li_"+ItemId.ToString()

bulletedListを埋めるために使用したサンプルコード: