PDA

View Full Version : فراخوانی متد onLoad جاوااسکریپتی در فرم دارای master page



sh_esharif
دوشنبه 13 مهر 1388, 15:53 عصر
دوستان عزیز سلام. من می خواهم متد ()OnLoad جاوااسکریپت رو در فرمی که masterpage داره صدا بزنم. در فرم های عادی که این متد در تگ body قرار می گیرد. ولی در فرمهای دارای master که از تگ body خبری نیست. چه باید کرد؟
ممنون از وقتی که می گذارین.

alireza_s_84
دوشنبه 13 مهر 1388, 18:48 عصر
دوستان عزیز سلام. من می خواهم متد ()OnLoad جاوااسکریپت رو در فرمی که masterpage داره صدا بزنم. در فرم های عادی که این متد در تگ body قرار می گیرد. ولی در فرمهای دارای master که از تگ body خبری نیست. چه باید کرد؟
ممنون از وقتی که می گذارین.

سلام دوست عزیز:
شما توی MasterPage تون بعد از تگ Body یک ContentPlaceHolder قرار بدین.
بعد توی هر صفحه که خواستین از این متد استفاده کنید توی کنترل Content مربوط به این ContentPlaceHolder کد زیر رو اضافه کنید:


<script type="text/javascript">
function BodyLoadig()
{
alert('Load');
}
document.body.onload = BodyLoadig();
</script>
یک راه دیگه اینکه توی تگ body از عبارت runat=server استفاده کنید و به body یک Id اختصاص بدین بعد توی صفحات محتوا به این صورت برای تگ body برنامه نویسی کنید:

کد مربوط به MasterPage:


<body id="DocBody" runat="server">
کد مربوط به صفحات محتوا:


protected void Page_Load(object sender, EventArgs e)
{
HtmlGenericControl BODY = (HtmlGenericControl)Master.FindControl("DocBody");
BODY.Attributes.Add("onload", "alert('ali');");
}
موفق باشید.