0

ASP.Net ドロップダウン リストがあります。特定の値が選択されたときに、いくつかの改行が表示されるようにします。ASP.Netを使用して改行を選択する方法がわからないため、jQueryでこれを行っています。つまり、同じドロップダウン リストでトリガーされる UpdatePanel もあります。彼らは一緒に働くことができますか?

ASP.Net:

                    <asp:DropDownList ID="ddlHowMany" runat="server"  
                        onselectedindexchanged="ddlHowMany_SelectedIndexChanged" 
                        style="margin-left: 8px" Width="50px" AutoPostBack="True" Height="22px">
                    </asp:DropDownList>
                    <asp:UpdatePanel ID="UpdatePanel1" runat="server">
                    <ContentTemplate>
                        <br class="space" />
                        <br class="space" />
                        <asp:TextBox ID="txtGraphic1Desc" class="descriptions" runat="server" Height="92px" 
                            TextMode="MultiLine"
                            Width="260px" Font-Names="Trebuchet MS" Visible="False">Description of graphic #1</asp:TextBox>
                        <br class="space" />
                        <br class="space" />
                        <asp:TextBox ID="txtGraphic2Desc" class="descriptions" runat="server" Height="92px" 
                            TextMode="MultiLine"
                            Width="260px" Font-Names="Trebuchet MS" Visible="False">Description of graphic #2</asp:TextBox>
                        <br class="space" />
                        <br class="space" />
                        <asp:TextBox ID="txtGraphic3Desc" class="descriptions" runat="server" Height="92px" 
                            TextMode="MultiLine"
                            Width="260px" Font-Names="Trebuchet MS" Visible="False">Description of graphic #3</asp:TextBox>
                    </ContentTemplate>
                    <Triggers>
                        <asp:AsyncPostBackTrigger ControlID="ddlHowMany" />
                    </Triggers>
                </asp:UpdatePanel>

jQuery:

        $.ajax({
            url: "Default.aspx",
            type: 'POST',
            complete: function () {
                if ($('#<%=ddlHowMany.ClientID %> option:selected').val() != "0") {
                    $('br.space').css({ display: 'block' });
                }
                else {
                    $('br.space').css({ display: 'none' });
                }
            }
        })
4

1 に答える 1

0

ScriptManager.RegisterStartupScript()jQuery で POST を実行する代わりに、コードを追加する必要があります。AJAXUpdatePanelの処理を​​行い、その後 jQuery を呼び出します。

また、このように jQuery を使用して ASP.NET WebForms で AJAX POST を実行できないことにも注意してください。__doPostBack()メソッドまたは呼び出しを呼び出し$(document.forms[0]).submit()て、ASP.NET の内部処理が魔法のように機能するようにする必要があります。

于 2013-03-14T17:24:11.023 に答える