PDA

View Full Version : آموزش: ارتباط جاوا اسکریپت با کدهای سی شارپ



dharmaa
دوشنبه 03 تیر 1392, 21:56 عصر
سلام بر دوستان
من میخام اجرا شدن کدهای سی شارپ یکی از صفحات سایتم منوط به برقراری شرطی که با جاوا اسکریپت نوشته شده باشد.بذارین بیشتر توضیح بدم
اومدم برای یکی از buttonها دو تا تابع نوشتم یکی از توابع مربوط به رویداد OnClientClick هستش و دیگری مربوط به onclick است .حالامیخام اگر تابع سمت کلاینت شرطش درست بود دیگه نره سراغ رویداد onclick سمت سرور.
ولی نمیدونم چهطوری باید این کار رو انجام بدم
و چشم انتظار راهنمایی های شما دوستان هستم.

General-Xenon
سه شنبه 04 تیر 1392, 07:54 صبح
سلام . راه هایی برای این کار وجود داره اما یکی از این راه ها ساده و راحت هست.

<%@ Page Language="C#" %>

<!DOCTYPE html>

<script runat="server">

protected override void OnLoad(EventArgs e)
{
if (IsPostBack)
{
object obj = _OBJ.Value;
object objargs = _OBJARGS.Value;
switch (obj.ToString())
{
default: lblTest.Text = "Event obj : " + obj.ToString() + " - Event Args : " + objargs.ToString(); break;
}
}
}
</script>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<input type="hidden" runat="server" id="_OBJ" value="" />
<input type="hidden" runat="server" id="_OBJARGS" value="" />
<div>
<button onclick="SendEVT('btn1',txtTest.value)">HTML ELEMENT - SEND</button>
<button onclick="SendEVT('btn2',txtTest.value+'a')">btn 2 test</button>
<button onclick="SendEVT('btn3',txtTest.value+'123456')">btn 3</button>
<br />
<input type="text" id="txtTest"></input>
<asp:Label runat="server" ID="lblTest"></asp:Label>
</div>
</form>
<script>
function SendEVT(_evt, _arg) {
document.getElementById("_OBJ").value = _evt;
document.getElementById("_OBJARGS").value = _arg;
document.forms[0].submit();
}
</script>
</body>
</html>

dharmaa
سه شنبه 04 تیر 1392, 16:39 عصر
سلام دوست گرامی .
ممنون از پاسختون،میشه واضح تر توضیح بدین .
کد بالا رو متوجه میشم اما هنوز اینو متوجه نشدم که چه طوری باید به جاوا اسکریپت بگم که اگه شرط توی تابعش برقرار بود دیگه کاری به کدهای پشت صحنه نداشته باشه!!!!

General-Xenon
سه شنبه 04 تیر 1392, 22:27 عصر
سلام دوست گرامی .
ممنون از پاسختون،میشه واضح تر توضیح بدین .
کد بالا رو متوجه میشم اما هنوز اینو متوجه نشدم که چه طوری باید به جاوا اسکریپت بگم که اگه شرط توی تابعش برقرار بود دیگه کاری به کدهای پشت صحنه نداشته باشه!!!!
ببین . تابع SendEVT رو به عنوان فراخوانی تابع در محیط C# در نظر بگیر. برای شرط در جاوا هم Search کن . به جواب خواهی رسید . ساده هست . یکم تلاش کن