1

ajaxツールキットの評価コントロールを使用しようとしています。私は現在、現在の評価をそのアイテムの平均評価に設定しています。ただし、それは誰もその値を選択できないことを意味します。たとえば、現在の定格が3の場合、誰も3を選択できなくなります。

私は同じ質問をしているstackoverflowでこの投稿を見つけました: AjaxコントロールツールキットRating Control- Override RatingBehavior.js

しかし、私はそれを機能させることができませんでした。3年くらい前の古い投稿だと思いますが、それ以来、レーティングコントロールで状況が変わりました。

だから-誰かが私が現在の評価を表示し、それでもその値を提出できるようにする方法を知っていますか?

ありがとう

4

1 に答える 1

0

ここにいない場合に備えて、この問題の解決策を見つけていただければ幸いです。

  1. レーティングコントロールがあるページ/ユーザーコントロールに非表示フィールドを追加します。

  2. 次のスクリプトブロックをページ/ユーザーコントロールに追加します。

    varratingID = ""; //評価コントロールのクライアントIDvarratingClientID= ""; //評価コントロールの一意のIDvarhfAverageRatingID = ""; //非表示フィールドID
  3. 以下のコードを外部のjsファイルに追加し、ScriptManagerProxyまたはToolScriptManagerコントロールで参照します。

    varレーティング;

    +rating._tag; var id = ratio._callbackID; //一意のID--ctl00$cphMainContainer $ bjxRatings1 $ pageRating if(rating._autoPostBack){__doPostBack(id、args); } else {WebForm_DoCallback(id、args、rating._receiveServerData、rating、rating._onError、true)}}}); $ create(Sys.Extended.UI.RatingBehavior、{"AutoPostBack":true、 "CallbackID":ratingClientID、 "ClientStateFieldID": "RatingCtrl_RatingExtender_ClientState"、 "id": "RatingCtrl_RatingExtender"}、null、null、$ get(ratingID) ); Rating = $ find( "RatingCtrl_RatingExtender"); }); _autoPostBack){__doPostBack(id、args); } else {WebForm_DoCallback(id、args、rating._receiveServerData、rating、rating._onError、true)}}}); $ create(Sys.Extended.UI.RatingBehavior、{"AutoPostBack":true、 "CallbackID":ratingClientID、 "ClientStateFieldID": "RatingCtrl_RatingExtender_ClientState"、 "id": "RatingCtrl_RatingExtender"}、null、null、$ get(ratingID) ); Rating = $ find( "RatingCtrl_RatingExtender"); }); _autoPostBack){__doPostBack(id、args); } else {WebForm_DoCallback(id、args、rating._receiveServerData、rating、rating._onError、true)}}}); $ create(Sys.Extended.UI.RatingBehavior、{"AutoPostBack":true、 "CallbackID":ratingClientID、 "ClientStateFieldID": "RatingCtrl_RatingExtender_ClientState"、 "id": "RatingCtrl_RatingExtender"}、null、null、$ get(ratingID) ); Rating = $ find( "RatingCtrl_RatingExtender"); }); :true、 "CallbackID":ratingClientID、 "ClientStateFieldID": "RatingCtrl_RatingExtender_ClientState"、 "id": "RatingCtrl_RatingExtender"}、null、null、$ get(ratingID)); Rating = $ find( "RatingCtrl_RatingExtender"); }); :true、 "CallbackID":ratingClientID、 "ClientStateFieldID": "RatingCtrl_RatingExtender_ClientState"、 "id": "RatingCtrl_RatingExtender"}、null、null、$ get(ratingID)); Rating = $ find( "RatingCtrl_RatingExtender"); });

注目すべき興味深い点は、投稿したリンクのコードが古くなっていることです。新しいajaxToolkitライブラリでは、javascriptの「AjaxControlToolkit」からリンクを参照することはできません。代わりに、jsファイルで「Sys.Extended.UI」を使用する必要があります。

幸運を祈ります、ショーン

于 2012-05-26T19:34:16.970 に答える