2016-08-29 9 views
-1

aspxページ、単一ファイルのWebフォームを使用して、クライアント側でユーザー入力をドロップダウンボックスで取得し、使用可能なテキストボックスフィールドを変更します(単純な例..クライアントがドロップボックス項目1を選択すると、テキストボックス1が有効になり、クライアントがドロップボックス項目2を選択すると、テキストボックス2が有効になります。CS0117:aspxページに関数の定義が含まれていません

DropboxのHTMLコードのようになりますし、イベントハンドラを除いて完璧に動作はOnSelectedIndexChanged:

<asp:DropDownList ID="FAQ" runat="server" ViewStateMode="Enabled" EnableViewState="true" Width="354px" AutoPostBack="true"   OnSelectedIndexChanged="selectedFAQ()" > 
     <asp:ListItem Text="Please Select" Value="Default"></asp:ListItem> 
     <asp:ListItem Text="Text 1 Here" Value="FAQ1"></asp:ListItem> 
     <asp:ListItem Text="Text 2 Here" Value="FAQ2"></asp:ListItem> 
     <asp:ListItem Text="Text 3 Here" Value="FAQ3"></asp:ListItem> 
</asp:DropDownList> 

関数selectedFAQ()スクリプトセクションで定義されています

function selectedFAQ() 
{ 
    //code to enable/disable text fields here 
} 

私が見てきましたいくつかの異なる投稿とこの問題への回答が、私が見た投稿にはaspxとaspx.csファイルが含まれているようです...私のページは単一のWebフォームです。

私はまた、ページが私の作成ではないことを言及したいと思いますが、私は単にそれに追加機能を追加しようとしています。そして、最後に、私はコードを持っていない3歳のdllを参照する "継承"タグがあります。

この問題が解決した場合は、正しい質問/回答と感謝をしてください。そうでない場合は、可能であれば手伝ってください。必要に応じて追加コードを提供することができます。ありがとう。

答えて

1

あなたが現在持っているものは、ポストバックイベントの購読です。つまり、サーバーサイドコードのインデックスの変更を処理する関数です。しかし、あなたの機能は実際にはJavaScriptであり、クライアント側で実行されます。それを呼び出すには、コントロールのドロップダウンの異なる属性に割り当てる必要があります。

onchange="selectedFAQ();" 

をそしてOnSelectedIndexChangedの取扱いを削除するには、とにかくアクセスの背後にあるコードを使用せずにサーバー側のハンドラを定義することができません。

+1

'javascript:'は無意味です。それはURLではありません。 – SLaks

+0

ありがとうAndrei ...私の問題を解決したようです。私はあなたにポイントを与えたり、この質問を閉じることができますか? – jhs

+0

@ jhs、これは、回答が受け入れられたとマークすることです。これは、この回答が問題の問題を実際に解決していることを他者に示すものです。 – Andrei

関連する問題