0

Visual Studio 2010 のデータソースを使用してデータベースからのデータが取り込まれているドロップダウン リストがあります。すべての値は一意であり、新しい値が選択されたときにアクションを実行するイベントを設定しました。ドロップダウン リストで新しい値を選択すると、新しい値が選択されますが、イベントは発生しません。コードにブレークポイントを入れて、ヒットしていないものが実行されているかどうかを確認しました。

ドロップ ダウン リストの AutoPostBack を true に設定する方法について読みましたが、ページを更新してリストを元の選択状態に戻すだけのようです (イベントが発生しない理由が考えられます)。

ViewState を有効にすると起動しない可能性があるため、ViewState を有効にすることについても読みました。ビューの上部に EnableViewState = "true" を入れてみましたが、役に立ちませんでした。ドロップダウン リストの EnableViewState プロパティも true に設定されています。

誰かが解決策について何か洞察を持っているなら、私は感謝していますか?

ありがとう

4

2 に答える 2

3

Asp.Net MVC では、Asp.Net のようなイベントやポストバックはありません。

formドロップダウンは従来の HTML ページであるため、タグを使用してドロップダウンの値を処理する必要があります。非同期で処理したい場合onchangeは、ドロップダウンの に接続された JavaScript を使用してください

于 2012-09-03T09:02:34.003 に答える
0

通常、これはデータバインディングが原因であることがわかります。Page_Load のコードが Page.IsPostBack (またはコントロール イベントが処理される前のパイプラインの別の場所) をチェックせずにドロップダウンリストをバインドすると、SelectedIndexChanged イベントが抑制されます。

もう 1 つの可能性は、コントロールの Decalrative マークアップに OnSelectedIndexChanged="DropDownListId_SelectedIndexChanged" がないか、@Page ディレクティブに AutoEventWireup=true がないことです。

あなたのコードを投稿できますか?

タグと @iridio さんの投稿を見ました。これは本当に MVC ですか? System.Web.UI.WebControls が MVC アプリで使用されるとは思いませんが、私は MVC の専門家ではありません。

于 2012-09-03T09:06:17.553 に答える