3

asp .net fw3.5でいくつかのビデオを表示するページを開発しています。ページには、サムネイル付きのビデオのリストが表示されます。ユーザーがビデオ サムをクリックすると、ポップアップが開き、ポップアップにビデオが表示されます。ビデオには評価コントロールがあります。ユーザーは ajax 評価コントロールを使用してビデオに投票できます。評価コントロールをクリックした後も、ポップアップは表示されたままになります。

いくつかのコーディングを行いましたが、問題は、ポストバックを行わないと評価コントロールの現在の評価を取得できないことです。更新パネルを使用してポップアップを常に表示することができますが、そうすると、モーダル popupextender の閉じるボタンが機能せず、モーダル ポップアップを閉じることができません。ここに私の関連コード部分があります:

<asp:Button ID="Button1" runat="server" Style="display: none" />      
<asp:ModalPopupExtender ID="ModalPopupExtender1" runat="server" OkControlID="btnOkay"
    TargetControlID="Button1" PopupControlID="Panel1" PopupDragHandleControlID="PopupHeader"
    Drag="true" BackgroundCssClass="ModalPopupBG">
</asp:ModalPopupExtender>
  <asp:Panel ID="Panel1" runat="server" CssClass="PopupCss">
    <table style="width: 100%; height: 100%;">
        <tr>
            <td>
                <div id="mediaplayer">
                    JW Player goes here</div>
                <script type="text/javascript">
                    jwplayer("mediaplayer").setup({
                        flashplayer: "jwplayer/player.swf",
                        file: "<%=videoName %>",
                        image: "<%=videoThumb %>",
                        width: "100%",
                        height: "100%"
                    });
                </script>
            </td>
            <td valign="top" align="left" style="text-align: left;">
                <div class="fb-like" data-send="true" data-layout="button_count" data-show-faces="true">
                </div> 
                <br />
                <div class="fb-comments" data-href="<%=videoLink%>"
                    data-num-posts="3" data-width="470">
                </div>
                <br />
                <br />
                <br />
                <!-- AddThis Button BEGIN -->
                <div class="addthis_toolbox addthis_default_style ">
                    <a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2">
                    </a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4">
                    </a><a class="addthis_button_compact"></a><a class="addthis_counter addthis_bubble_style">
                    </a>
                </div>
                <script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4f61d99d08697325"></script>
                <!-- AddThis Button END -->
                <br />
                <br />
                <asp:Rating ID="Rating1" runat="server" MaxRating="5" StarCssClass="ratingStar" FilledStarCssClass="ratingStarFilled"
                    AutoPostBack="true" OnChanged="VideoRatingChanged" EmptyStarCssClass="ratingStarEmpty"
                    WaitingStarCssClass="ratingStarEmpty">
                    <asp:HiddenField ID="HiddenField1" runat="server" Value='<%=videoId%>' />
                </asp:Rating>
                &nbsp (<%=voteCount%>)
                <br />
                Minder Score:
                <%=minderScore %>
                <br />
                <div class="Controls" style="text-align: left;">
                    <input id="btnOkay" type="button" value="Kapat" />
                </div>
            </td>
        </tr>
    </table>
</asp:Panel>

どうすれば目的の機能を実現できますか。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

1

それを行う最も簡単な方法は、UpdatePanel

<br />
        <asp:UpdatePanel runat="server" ID="up1">
            <ContentTemplate>
                <asp:Rating ID="Rating1" runat="server" MaxRating="5" StarCssClass="ratingStar" FilledStarCssClass="ratingStarFilled"
                    AutoPostBack="true" OnChanged="VideoRatingChanged" EmptyStarCssClass="ratingStarEmpty"
                    WaitingStarCssClass="ratingStarEmpty">
                    <asp:HiddenField ID="HiddenField1" runat="server" Value='<%=videoId%>' />
                </asp:Rating>

            </ContentTemplate>
        </asp:UpdatePanel>

総投票数の一部について、UpdatePanel 内に含める場合は、コントロールで変更しasp:literal、このコントロール内で結果をレンダリングする必要があります。したがって、このコードを UpdatePanel 内に含めたい場合は、自動更新のために、

&nbsp (<%=voteCount%>)
<br />
Minder Score:
<%=minderScore %>

あなたはそれを次のように書く必要があります

&nbsp (<asp:Literal runat="server" id="txtVoteCount" />)
<br />
Minder Score: <asp:Literal runat="server" id="txtMinderScore" />

コードビハインドにこの値を配置します。

このサンプルが表示される場合http://www.asp.net/ajaxLibrary/AjaxControlToolkitSampleSite/Rating/Rating.aspx

SDKからソースコードを取得します。これがその方法です。

于 2012-06-20T09:22:02.147 に答える