PDA

View Full Version : نوشتن یه کد سرور ساید درون جاوا



nokhod
یک شنبه 14 اسفند 1384, 09:33 صبح
سلام.

من یه کد جاوا نوشتم به صورت زیر:



<SCRIPT Language="JavaScript">
....
....
if (a = 0)
alert("Error");
....
....
</SCRIPT>


حالا می خام به جای آلرت از یه تابع سرور ساید استفاده کنم که توش یه ریدایرکت داره. چی کار کنم؟

از مدیر بخش هم خواهش می کنم این تاپیک را حذف نکنند. درسته که تو یه تاپیک دیگه پرسیدمش، ولی بحث تاپیک عوض شد و کسی جواب منو درست نداد. راستی اینم که سؤالام رو می نویسم فوری برای کلک زدن نیست. برای اینه که من باید پروژم رو جمعه تحویل می دادم و الان یکشنبه هست و فقط همین یه مشکل مونده که حل بشه.

ممنون.

titbasoft
یک شنبه 14 اسفند 1384, 09:38 صبح
اگر فقط یه redirect ساده است می تونید از کد جاوای زیر استفاده کنید :


window.location="page.aspx"

nokhod
یک شنبه 14 اسفند 1384, 13:50 عصر
ممنون. ولی یه ریدایرکت ساده نیست بلکه قبل از ریدایرکت خیلی چیزا حساب میشه و از طریق URL فرستاده می شه.
حالا چی؟

titbasoft
یک شنبه 14 اسفند 1384, 14:05 عصر
باز هم مشکلی وجود نداره. شما بالاخره یکسری اطلاعات رو احتمالا دارید از طریق querystring به یک صفحه دیگه می فرستید. برای این کار کافیه URL شما سمت server ساخته بشه و با یک واسطه مثل یک متغیر public روی صفحه render بشه (کد ضمیمه) . حالا اگر بگید که ممکنه برای ساخته شدن URL به یکسری data از سمت client نیازه (مثلا URL در یک تابع که پارامتر ورودی داره ساخته میشه و پارامتر ها باید از سمت client پاس بشن) یه پیشنهاد می تونه AJAX باشه. البته اگر دقیق تر بدونم می خواهید چه کار کنید ممکنه راه حل های بهتری هم وجود داشته باشه.



<script>
window.location="<%= serverSidePublicVariable %>";
</script>

nokhod
یک شنبه 14 اسفند 1384, 20:42 عصر
من یه سیستم کوئیز دارم که وقتی زمان صفر شد آلرت میده. ولی من می خوام وقتی صفر شد جوابها رو چک کنه و حاصل رو از طریق url بفرسته به صفحه نتایج.
یعنی نباید نتیجه از قبل حساب بشه و بره تو یه متغیر مثل همونی که شما گفتید. بلکه باید موقع صفر شدن زمان یا همون (if (a=0 این محاسبات انجام بشه که من این محاسبات رو توی یه تابع نوشتم و حالا باید به جای آلرت این تابع فراخانی بشه.

بازم ممنون.

nokhod
دوشنبه 15 اسفند 1384, 08:31 صبح
چی شد این جواب ما؟؟؟؟؟؟

titbasoft
دوشنبه 15 اسفند 1384, 09:03 صبح
خوب فکر کنم اگر درست متوجه شده باشم ، زمانی که وقت تموم میشه باید به طور اتوماتیک وار صفحه تون رو Post Back کنید. اطلاعات هم سمت server قابل خوندن هستند و حتی نیازی نیست که اونها رو از طریق querystring پاس کنید (که حتما در مورد ریسک امنیتی این کار هم اطلاع دارید)

از کد زیر برای submit کردن فرمتون می تونید استفاده کنید. (به اسم فرم توجه داشته باشید)

document.forms("form1").submit();

titbasoft
دوشنبه 15 اسفند 1384, 09:35 صبح
ظاهرا دیدم با این قسمتش قبلا مشکل داشتید. از این کد می تونید استفاده کنید: (ضمنا چون عجله ای بود در نهایت من هم نمره رو با استفاده از یک query string به صفحه result.aspx می فرستم)



<%@ Page Language="vb" AutoEventWireup="false"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<title>WebForm1</title>
<script runat="server">
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Page.IsPostBack Then
Dim mark As Decimal = 0
If ans1.Text.ToLower.Trim = "yes" Then
mark += 1.5
End If
If ans2.SelectedIndex = 1 Then
mark += 2
Else
mark -= 0.5
End If
Response.Redirect("results.aspx?mark=" & mark.ToString())
End If
End Sub
</script>
</HEAD>
<body>
<form id="Form1" method="post" runat="server">
<script>
var TotalTime=10;
window.setInterval("timeOver()",TotalTime*1000)
window.setInterval("showTime()",1*1000)

function showTime(){
document.getElementById("lblTimer").innerHTML=(--TotalTime);
}
function timeOver(){
document.Form1.submit();
}
</script>
<P>
<asp:Label id="Label1" runat="server" Font-Bold="True">Questions:</asp:Label></P>
<P>
<asp:Label id="Label2" runat="server">What do think about ...?</asp:Label>
<asp:TextBox id="ans1" runat="server"></asp:TextBox></P>
<asp:Label id="Label3" runat="server">Which one is ...?</asp:Label>
<asp:RadioButtonList id="ans2" runat="server">
<asp:ListItem Value="1">VB</asp:ListItem>
<asp:ListItem Value="2">C#</asp:ListItem>
</asp:RadioButtonList>
<hr>
<div id=lblTimer></div>
</form>
</body>
</HTML>

nokhod
دوشنبه 15 اسفند 1384, 14:36 عصر
واقعا دستتون درد نکنه. 2 روز معتل همین بودم.
خیلی خیلی خیلی ... ممنون.:تشویق: