PDA

View Full Version : سوال: چطور به یک Div در html دستور ASP.NET بدم ؟



پیام حیاتی
سه شنبه 25 شهریور 1393, 09:34 صبح
سلام
یک منو با html,css ساختم :

123535


<a href="#" title=""><div class="v-menu-con">پزشک عمومی</div></a><div class="line"></div>


می خوام زمانی که بر روی یکی از آیتم های منو کلیک کنم (مثلا" پزشک عمومی) در GridView لیست آنها رو نمایش دهد.



123536

در حالت معمولی که یک دکمه از ابزار VisualStudio قرار میدیم . این کد رو درونش مینویسیم :

string connectionString = "Data Source=(local);Initial Catalog=Contact;Integrated Security=SSPI;";
SqlConnection conObj = new SqlConnection(connectionString);
string commandText = "select * from Table_1";
SqlCommand cmdObj = new SqlCommand(commandText, conObj);
conObj.Open();
SqlDataReader dr = cmdObj.ExecuteReader();
GridView1.DataSource = dr;
GridView1.DataBind();



حالا این کد رو چطور در کلاس نوشته شده یا تگ a href قرار بدم و نمیدونم؟

تشکر.

پیام حیاتی
سه شنبه 25 شهریور 1393, 15:25 عصر
کسی نمیدونه؟!! یا خسته اید:چشمک:

ali.shahrivarian
سه شنبه 25 شهریور 1393, 15:48 عصر
???????????????????????????

CsharpNevisi
سه شنبه 25 شهریور 1393, 16:08 عصر
حالا این کد رو چطور در کلاس نوشته شده یا تگ a href قرار بدم و نمیدونم؟


با دایو یا لینک میشه همچین کاری کرد ولی یه کمی دردسر داره و باید از ajax استفاده کنید .. !!
لینکدباتن رو میتونی مثل دایو بهش استایل بدی و عین کنترل های اچ.تی.ام.ال طراحی شده ... یه جاری دایو از اونا استفاده کن و کلاس دایو رو به اونها بده ... اینطوری خیلی راحت ترو بهتره

aminmousavi
سه شنبه 25 شهریور 1393, 16:10 عصر
سلام دوست عزیز .
زیاد خوب منظورتون رو متوجه نشدم ، اما اگر منظورتون این بوده که میخوای مثلا روی یک div که کلیک کردی یک event در سمت سرور (C#) اجرا بشه .
دو راه داری :

1- Ajax (که نمونه کدش بسار هست تو همین تالار !)
2 - میتونین اون div رو یک id بهش بدین و runat رو برابر با server قرار بدین و کد زیر رو توی PageLoad صفحه اتون بزارید :

div.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this, "DIVClick"));


و کافیه اونت زیر رو بسازید ، زمانی که روی div کلیک کنید اونت زیر اجرا میشه :


#region IPostBackEventHandler Members
public void RaisePostBackEvent(string eventArgument)
{
if (!string.IsNullOrEmpty(eventArgument))
{
if (eventArgument== "DIVClick")
{

}
}


}
#endregion

پیام حیاتی
سه شنبه 25 شهریور 1393, 19:01 عصر
سلام دوست عزیز .
زیاد خوب منظورتون رو متوجه نشدم ، اما اگر منظورتون این بوده که میخوای مثلا روی یک div که کلیک کردی یک event در سمت سرور (C#) اجرا بشه .
دو راه داری :

1- Ajax (که نمونه کدش بسار هست تو همین تالار !)
2 - میتونین اون div رو یک id بهش بدین و runat رو برابر با server قرار بدین و کد زیر رو توی PageLoad صفحه اتون بزارید :

div.Attributes.Add("onclick", Page.ClientScript.GetPostBackEventReference(this, "DIVClick"));



و کافیه اونت زیر رو بسازید ، زمانی که روی div کلیک کنید اونت زیر اجرا میشه :


#region IPostBackEventHandler Members
public void RaisePostBackEvent(string eventArgument)
{
if (!string.IsNullOrEmpty(eventArgument))
{
if (eventArgument== "DIVClick")
{

}
}


}
#endregion

احسنت دقیقا، منظورم همین بود.

پیام حیاتی
سه شنبه 25 شهریور 1393, 19:02 عصر
با دایو یا لینک میشه همچین کاری کرد ولی یه کمی دردسر داره و باید از ajax استفاده کنید .. !!
لینکدباتن رو میتونی مثل دایو بهش استایل بدی و عین کنترل های اچ.تی.ام.ال طراحی شده ... یه جاری دایو از اونا استفاده کن و کلاس دایو رو به اونها بده ... اینطوری خیلی راحت ترو بهتره

اینم عالیه و راحته.
مرسی

Mousavmousab
چهارشنبه 26 شهریور 1393, 12:28 عصر
Ajax قشنگ تر است ولی دوست عزیز راه آسون تری هم هست. این منوی ساده را می تونی با Repeater بسازی. البته به Repeater ست کنی چون درست کردن که نداره خودش درست می کنه.
بعد روی هر آیتم که کلیک کنی می توی هم از طریق CodeBehind رویداد Repeater و هم می تونی یه پارامتر هایی را به صفحه Redirect کنی و URL را بخونیشون و با هر ردیف هر کاری که دوست داشتی انجام بدی.

Repeater خودش Bind میشه و یک خط کد نویسی هم نداره.

موفق باشی