PDA

View Full Version : نحوه دسترسی به یک کنترل Asp.net در زمان اجرا



بیتا حکمت
چهارشنبه 24 دی 1393, 13:11 عصر
سلام . من هر چقدر سرچ می کنم نمی دونم به جواب این سوال نمی رسم که چطور می تونم در زمان اجرا به مقدار یک کنترل از Html یا ASP دسترسی پیدا کنم و بعدش اون پراپرتی اون کنترل رو تغییر بدم . مثلا" دو باکس دارم به اسم TextBox1 و TextBox2 و یک باتن به اسم Button1 ، حالا میخوام زمانی که روی Button1 کلیک شد ، مقدار باکس اولی در باکس دومی قرار بگیره . بدون اینکه صفحه رفرش بشه ( نمیخوام از کنترل اپدیت پنل استفاده کنم)




<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<br />
<br />
<br />
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<br />
<br />
<br />
<br />
<asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" />

hsgpro
چهارشنبه 24 دی 1393, 13:54 عصر
سلام
خب برای این کار باید از جاوا اسکریپت یا jQuery استفاده کنید.



<script type="text/javascript">
function Button1_Click(){
document.getElementById('TextBox1').value = document.getElementById('TextBox2').value;
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click()" Text="Button" />

بیتا حکمت
چهارشنبه 24 دی 1393, 14:05 عصر
سلام
خب برای این کار باید از جاوا اسکریپت یا jQuery استفاده کنید.



<script type="text/javascript">
function Button1_Click(){
document.getElementById('TextBox1').value = document.getElementById('TextBox2').value;
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<asp:Button ID="Button1" runat="server" onclick="Button1_Click()" Text="Button" />


خیلی ممنونم ، اما خطا داد :متفکر:

hsgpro
چهارشنبه 24 دی 1393, 14:48 عصر
خیلی ممنونم ، اما خطا داد :متفکر:

ببخشید من ASP.Net زیاد بلد نیستم.
این درستشه:



<script type="text/javascript">
function myFunction() {
document.getElementById('<%= TextBox1.ClientID %>').value = document.getElementById('<%= TextBox2.ClientID %>').value;
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<input type="button" ID="Button1" value="Button" OnClick="myFunction();" />


دکمه باید تحت کاربر باشه به همین دلیل از دکمه معمولی HTML استفاده کردم.
OnClick دکمه معمولی هم به تابع myFunction در جاوا اسکریپت میره.

بیتا حکمت
چهارشنبه 24 دی 1393, 15:10 عصر
ببخشید من ASP.Net زیاد بلد نیستم.
این درستشه:



<script type="text/javascript">
function myFunction() {
document.getElementById('<%= TextBox1.ClientID %>').value = document.getElementById('<%= TextBox2.ClientID %>').value;
}
</script>
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<asp:TextBox ID="TextBox2" runat="server"></asp:TextBox>
<input type="button" ID="Button1" value="Button" OnClick="myFunction();" />


دکمه باید تحت کاربر باشه به همین دلیل از دکمه معمولی HTML استفاده کردم.
OnClick دکمه معمولی هم به تابع myFunction در جاوا اسکریپت میره.

خیلی ممنووووووون ، تجربه هیجان انگیزی بود ، بدون رفرش تغییر کرد. اما یک سوال ایا فانکشن جاوا اسکریپت می تونه یک متد ورودی داشته باشه . به این خاطر می پرسم که فرضا" ما بار دوم
میخوایم به جای Textbox1 پراپرتی یک Label رو تغییر بدیم . در اون صورت باید چی کار کنیم ؟

hsgpro
چهارشنبه 24 دی 1393, 18:03 عصر
خیلی ممنووووووون ، تجربه هیجان انگیزی بود ، بدون رفرش تغییر کرد. اما یک سوال ایا فانکشن جاوا اسکریپت می تونه یک متد ورودی داشته باشه . به این خاطر می پرسم که فرضا" ما بار دوم
میخوایم به جای Textbox1 پراپرتی یک Label رو تغییر بدیم . در اون صورت باید چی کار کنیم ؟

کلاً هر چیزی که ID یا Class داشته باشه می تونید با جاوا اسکریپت تغییرش بدید.
تابع document.getElementById در جاوا اسکریپت برای گرفتن المان مورد نظر با ID است.
می تونید به جای TextBox1.ClientID آیدی یه لیبل رو مثل Label1.ClientID بذارید.
با تابع document.getElementsByClassName هم می تونید چندین المان که کلاس مورد نظر شما رو داره بگیرید اما تابع document.getElementById دقیق تره.

ASP.Net خوبه ها ولی با ابزار های بصری که داره باعث میشه اکثر کاربراش یادگیری جاوا اسکریپت که جزو مهم ترین امر های طراحی وب است رو فراموش کنن.پیشنهاد میکنم حتماً جاوا اسکریپت هم یاد بگیرید.می تونید از آموزش های آنلاین سایت http://beyamooz.com که فارسی شده سایت http://w3schools.com استفاده کنید.من خودم php کارم اگه به php رجوع بیارید مجبورید برای این جور کار ها جاوا اسکریپت رو یاد بگیرید به همین دلیل php یکم هم شده بیشتر از ASP.Net دوست دارم.