別のページにリダイレクトし、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>