2

私は現在ASP.NETを使用しており、フォームを設計した人は、実際にはポストバックを提供していないときに、テキストボックスやドロップダウンなどのすべてのサーバーコントロールを使用しています。ドロップダウンとテキストボックスの一部は、jQueryでのみ必要な値です。私が見る限り、これらのコントロールをASP.NETサーバーコントロールではなく標準のhtmlコントロールにカバーすることに欠点はありませんか?

GridViewを更新するためにポストバック(およびPageLoadイベントなど-すべてのasp.netイベントを受信)する必要があるため、サーバーコントロールとしてGetDataGridボタンを引き続き使用する必要があると思いますか?または、WebメソッドからGridView(ASP.NETサーバーコントロール)を使用して、Jqueryを介して呼び出すことは可能ですか?

もちろん、私のWebメソッドでは、データソースを追加するためにgridviewのインスタンスを作成する必要がありますが、ASP.NETイベントに参加しないと、これがどのように可能になるかわかりません。

私が考えたもう1つのことは、GetGridViewボタンを標準のHTMLに変更し、クライアントのクリックイベントからjavascriptポストバックを呼び出すことでしたか?このようにして、実際のポストバックを実行し、Page_loadになります。

すべてを有効にすると、GridView asp.netコントロールはasp.netサーバーコントロールと同様に機能するため、変更したくありませんが、これをどのように行うかはわかりません。

「サーバーコントロールなしでasp.netWebフォームを使用する方法」というドキュメントが利用可能になっているのを覚えていますが、それが見つからないようです。asp.net MVCのようなWebフォームを使用していると思いますが、プロジェクトをMVCに変更することはできません。

これを行う方法やコメントなどに関するフィードバックをお待ちしています。

ASP.NET Webフォームを使用すると、ページに多くのコードの臭いが注入されます。.NET3.5を使用しているため、出力の多くはテーブルなどで行われます。

4

3 に答える 3

1

Request.Form ["..."]を使用すると、標準のhtml入力フィールドに入力された情報を取得できます。

GridViewコントロールを使い続ける代わりに、jqGridまたはMicrosoftがjQuery用に導入した新しいテンプレートシステム(現在はプラグインですが、バージョン1.5以降のコアjQueryの一部になる予定です)を確認することをお勧めします。これらはjsonにバインドでき、webmethodまたはpagemethodの呼び出しから取得して、テンプレートにデータを入力できます。

于 2010-11-26T11:17:52.423 に答える
1

また、私はasp.net(コードビハインド)からrunat=serverがなくてもhtml>controlの値を受け取ることは不可能だと思います。

webmethodsを使用します。htmlコントロールでクライアントイベント('onchange'など)を設定し、イベントが発生したときに呼び出されるjavascript関数で、PageMethodsを使用してデータをコードビハインドに送信できます。

于 2010-11-26T11:36:45.493 に答える
0

いくつかの考え...

GridViewはWebMethodで作成することはできません。それを機能させる方法があったとしても、本物のクライアント側グリッドを使用する方がよいでしょう。それは選択肢ではないので、既存のページに大きな変更を加えようとしてもあまり意味がないと思います。

ViewState

テキストボックスやボタンなどをHTMLバージョンに変更すると、ビューステートサイズが少し小さくなりますが、ページとのやり取りの処理方法が少し複雑になります。HTMLコントロールに追加runat="server"して、レンダリング対象を制御し、サーバー側のコントロールにアクセスできるようにすることができます。

.Net 4を使用すると、ビューステートをはるかに細かく制御できますが、残念ながら3.5ではそれほど簡単ではありません。

GridViews

GridViewをUpdatePanelsでラップできます。これは、パフォーマンスの面では何も得られないものの、ページにインタラクティブ性を追加するための「安価な」方法です。

クライアント側でjQueryを使用してGridviewを操作することも可能です。インターネット上でこれを行う方法を説明するチュートリアル、ブログ投稿などがたくさんあります。

Webフォームを使用したMVC

同じWebサイトでASP.NetMVCとWebフォームを混在させることもできます。あなたはMVCに精通しているように思われるので、新しいページではこのアプローチを検討することをお勧めします。これを行う方法を説明するブログ投稿があります

更新:既存の WebformsアプリケーションでMVCを使用する方法に関するScottHanselmanによる最近の記事があります。

于 2010-11-26T14:03:30.787 に答える