0

JavaScript と asp.net を使用します。AutoPostBack は、ドロップダウン リストから JavaScript を介して宣言した変数「callBackReason」をクリアしているようです。残念ながら、変数を Javascript にする必要があります。AutoPostBack の後でも宣言を維持する方法はありますか?

どうもありがとう。

<asp:DropDownList AutoPostBack="true" OnSelectedIndexChanged="dropVehicleRequest_Changed" runat="server" ID="dropVehicleRequest"></asp:DropDownList>

<asp:DropDownList runat="server" ID="dropCallbackReason" SelectedIndexChanged="riskSeverityDropDown_SelectedIndexChanged" onChange="javascript:updateCallBackReason()" ClientIDMode="Static" >
     <asp:ListItem Text="-- Select Reason --" Value="1"></asp:ListItem>
     <asp:ListItem Text="Booking" Value="2"></asp:ListItem>
     <asp:ListItem Text="Discussing" Value="3"></asp:ListItem>
     <asp:ListItem Text="Contact" Value="4"></asp:ListItem>
</asp:DropDownList>

<script type="text/javascript">
    function updateCallBackReason() {
    callBackReason = document.getElementById('<%=dropCallbackReason.ClientID%>').options[document.getElementById('<%=dropCallbackReason.ClientID%>').selectedIndex].text;
    return callBackReason;
        }
</script>
4

2 に答える 2

0

ページに HiddenField を追加します。次に updateCallBackReason() 関数呼び出しで document.getElementById('<%=dropCallbackReason.ClientID%>').selectedIndex を非表示フィールドに更新します。フォームの読み込み時に、非表示フィールドから選択した dropCallbackReason インデックスを設定できます。

それ以外の場合は、このロジックを実装するために updatepanel を使用できます。updatepanel、hiddenfield、javascript __DoPostBack() 呼び出しも使用します。詳しくはgoogleで検索してください。次に、updatepanel でトリガーを最初のドロップダウンとして設定します。

于 2013-06-07T11:10:33.513 に答える