0

別のページにリダイレクトし、javascript のみを使用していくつかのパラメーターを渡したいです。クエリ文字列を使用することは想定されていません。これを達成する方法はありますか?私はasp.netに取り組んでいます。

このリダイレクトを devexpress スケジューラ コントロールで使用して、ユーザーが予定をクリックすると、選択した予定の ID をパラメーターとして渡すことでユーザーを別のページにリダイレクトしたいと考えています。クエリ文字列として渡すべきではありません。

また、リダイレクトされたページからそのような非表示のパラメーターを取得する方法も知りたいです。

わかりました私は自分の解決策を見つけました。

<asp:Button>に設定されているa をクリックするために JavaScript を使用しましたstyle="display:none"。私のシナリオでは、クリックしたスケジューラーの予定のプロパティを取得できました。次に、これらのプロパティを非表示フィールドに配置し、この「非表示」ボタンのサーバー側クリック イベントで、これらの非表示フィールド値を使用してサーバー側を介してリダイレクトします。私のコードは以下の通りです

<asp:Button ID="Appointment" runat="server" Text="sample" 
    onclick="Appointment_Click" style="display:none"/>
<asp:HiddenField ID="hfID" runat="server" />
<asp:HiddenField ID="hfSubject" runat="server" />
<asp:HiddenField ID="hfDate" runat="server" />

<script type="text/javascript" language="javascript">
    function OnAppointmentClick(s, e) {
        //debugger;
        var apt = scheduler.GetAppointmentById(e.appointmentId);

        var apt1 = scheduler.GetAppointmentProperties(e.appointmentId);

        var aptID = document.getElementById('<%= hfID.ClientID %>');
        var aptDate = document.getElementById('<%= hfDate.ClientID %>');
        var aptSubject = document.getElementById('<%= hfSubject.ClientID %>');
        aptID.value = e.appointmentId;
        var date = (apt.startDate.getMonth()+1) + '/' + apt.startDate.getDate() + '/' + apt.startDate.getYear(); 
        aptDate.value = date;
        aptSubject.value = apt.CODE;
        document.getElementById('<%= Appointment.ClientID %>').click();
    }    
    </script>
4

2 に答える 2