PDA

View Full Version : مشکل در صدا زدن رویداد



javad3151
چهارشنبه 07 اردیبهشت 1384, 23:32 عصر
سلام
من با استفاده از vb.net برنامه (asp.net) می نویسم (همان طور که می دونید تمام کدهای اسکریپ های برنامه ، در یک فایل dll کامپایل می شوند) می خواستم ببینم آیا می شه در بدنه متن html یک رویداد خاص را صدا بزنم (که داخل فایل dll هستش ) :گیج:

aidinwashere
پنج شنبه 08 اردیبهشت 1384, 14:43 عصر
با تعیین scope درست میشود

javad3151
پنج شنبه 08 اردیبهشت 1384, 22:50 عصر
ببخشید میشه یه مثال بزنید :wink:

Behrouz_Rad
جمعه 09 اردیبهشت 1384, 20:44 عصر
مثال لازم نیست.
به دو شکل می توانید عمل کنید:
1) تابع، متد یا پروسیجر خود را در قسمت تعاریف عمومی فرم تعریف کنید.
2) آنها را در یک ماژول (VB.NET) یا یک کلاس (C#.NET) قرار دهید.

نحوه فراخوانی توابع، متدها یا پروسیجرهای تعریف شده در قسمت تعاریف عمومی فرم:


<% MySub %>

or


<%= MyFunction() %>


نحوه فراخوانی توابع، متدها یا پروسیجرهای تعریف شده در ماژول:


<% myProjectName.myModuleName.mySubName %>

or


<%= myProjectName.myModuleName.myFunctionName() %>

javad3151
شنبه 10 اردیبهشت 1384, 11:09 صبح
خیلی ممنون :موفق:

javad3151
دوشنبه 19 اردیبهشت 1384, 18:25 عصر
asp.net/ vb.net
باز هم مشکل :sad2:
من یک img دارم که وقتی موس می ره روش رنگش عوض می شه (که کدش رو در بخش html تعریف کردم) حالا می خوام وقتی img کلیک میشه یه رویداد ویژوال بیسیکی سمت سرور فراخوانی بشه .
ولی حتی اگر img رو runat=server هم بکنم باز در بخش کد نویسی ویژوال بیسیک آن رویداد کلیک نمی یاد

یه مشکل دیگه هم هست : در برنامه های ساخت menu هم همین مشکل وجود داره یعنی فقط می توان به اونها url داد و نمی توان به آنها گفت که یک رویداد سمت سرور رو اجرا کنند :sorry:

Behrouz_Rad
دوشنبه 19 اردیبهشت 1384, 19:37 عصر
HtmlImage قادر به فراخوانی رویداد سمت سرور نیست.
بدین منظور باید از یک ImageButton استفاده کنید.

در مورد منوها نیز، از آنجا که پایه و اساس ایجاد منوها بر اساس جاوا اسکریپت است، قادر به فراخوانی رویداد سمت سرور از طریق منوها نیستید.

javad3151
چهارشنبه 21 اردیبهشت 1384, 13:23 عصر
آخه ImageButton که رویدادهای ...onmouse رو نداره .
کلا برای ترکیب رویداد های سمت سرور و کلاینت راهی وجود داره ؟ چون بعضی وقت ها احتیاج میشه که شما بعضی از مطالب رو روی کلاینت اجرا کنید و بعدا یه رویداد را از سرور فراخوانی کنید.

یه مطلب دیگه هم اینکه با ویژوال بیسیک نمی توان تمام کارها رو انجام داد و ناچارا برای طراحی صفحات وب باید جاوا اسکریپت رو هم یاد گرفت.درسته؟

Behrouz_Rad
چهارشنبه 21 اردیبهشت 1384, 18:54 عصر
آخه ImageButton که رویدادهای ...onmouse رو نداره .
کلا برای ترکیب رویداد های سمت سرور و کلاینت راهی وجود داره ؟
بله. به منظور اضافه کردن خواصی به کنترل سمت سرور که در آن وجود ندارد، از متد Add خاصیت Attributes کنترل سمت سرور استفاده کنید.

مثال: اضافه کردن رویداد onmouseover به کنترل ImageButton
aspx:


<HEAD>
<script language="javascript">

function myJavaFunction()
{
alert('This is a Image Button Object');
}
</script>
</HEAD>

Code Behind:


Sub Page_Load()
ImageButton1.Attributes.Add("onmouseover", "myJavaFunction();")
End Sub


یه مطلب دیگه هم اینکه با ویژوال بیسیک نمی توان تمام کارها رو انجام داد و ناچارا برای طراحی صفحات وب باید جاوا اسکریپت رو هم یاد گرفت.درسته؟
بله تا حدودی برای کنترل کردن رویدادهای سمت کلاینت، نیاز به یادگیری جاوا اسکریپت دارید.

موفق باشید.

javad3151
چهارشنبه 21 اردیبهشت 1384, 23:19 عصر
ای ول داداش ای ول :تشویق:
دستت درد نکنه آقا بهروز :موفق:

javad3151
دوشنبه 26 اردیبهشت 1384, 11:35 صبح
در مورد منوها نیز، از آنجا که پایه و اساس ایجاد منوها بر اساس جاوا اسکریپت است، قادر به فراخوانی رویداد سمت سرور از طریق منوها نیستید

مثل اینکه یه راهی وجود داره ، می شه از طرق querystring این کار رو انجام داد و تمام پروژه رو با vb نوشت. :موفق:

Behrouz_Rad
دوشنبه 26 اردیبهشت 1384, 12:51 عصر
Query String نیز از طریق URL پاس داده میشه.
به هر حال آنچه که مسلمه این هست که نمیشه برای منوها، اسکریپت سمت سرور بنویسید.

javad3151
دوشنبه 26 اردیبهشت 1384, 18:25 عصر
نمیشه برای منوها، اسکریپت سمت سرور بنویسید
ولی می توان در روال لود صفحه Query String رو چک کرد و بوسیله اون یه روال رو انجام داد مثل این :


Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
If Request.QueryString.Item("i") = "a1" Then Me.sc1()
End Sub
Sub sc1()
Label1.Text = "OK"
End Sub


البته شما استاد هستید و ما تازه کار :flower:

Behrouz_Rad
دوشنبه 26 اردیبهشت 1384, 20:08 عصر
بله مسلمه که از این طریق میشه عمل کرد. اما باز هم میگم:
این کار همان ارسال پارامتر از طریق URL است و سرور بر حسب پارامتری که دریافت می کند، پروسیجر یا کاری رو که شما بگید، اجرا خواهد کرد. پس اسکریپت سمت سروری اجرا نشده و پارامتر به سرور ارسال شده.
:)