PDA

View Full Version : سوال: OnClick براي كنترل هايي كه به صورت داینامیک اضافه می شوند؟



saraytanha
دوشنبه 31 خرداد 1389, 15:51 عصر
سلام
من یه صفحه دارم که توی Page_Load آن یه linkbutton اضافه می کنم
می خواهم خاصیت OnClick اون رو اجرا بشه اما اجرا نمی شه
نمونه کد رو می ذارم
دوستانی که می تونند پاسخ بدهند


LinkButton test = new LinkButton();
test.ID = "test";
test.Text = "LBtest ";
test.Font.Underline = false;
test.OnClientClick = "test_Click";
Panel1.Controls.Add(test);



این هم تابع OnClick



protected void test_Click(object sender, EventArgs e)
{
string s = "ssss";
}

alireza_s_84
دوشنبه 31 خرداد 1389, 15:59 عصر
سلام:

OnlineManeg.OnClientClick = "OnlineManeg_Click";
خصوصیت OnClientClick نام یک متد جاوا اسکریپت برای زمانی هست که در سمت کلاینت بر روی باتن کلیک میشه.
برای اینکه در سمت سرور رویدادی رو به یک ایونت متصل کنید در سی شارپ اینجوری عمل کنید:

OnlineManeg.Click += new EventHandler(OnlineManeg_Click);
با جایگزین کردن این کد به جای خط فوق میتونید مشکلتون رو برطرف کنید.

saraytanha
دوشنبه 31 خرداد 1389, 16:07 عصر
سلام:

OnlineManeg.OnClientClick = "OnlineManeg_Click";
خصوصیت OnClientClick نام یک متد جاوا اسکریپت برای زمانی هست که در سمت کلاینت بر روی باتن کلیک میشه.
برای اینکه در سمت سرور رویدادی رو به یک ایونت متصل کنید در سی شارپ اینجوری عمل کنید:

OnlineManeg.Click += new EventHandler(OnlineManeg_Click);
با جایگزین کردن این کد به جای خط فوق میتونید مشکلتون رو برطرف کنید.

مرسی از جوابت ولی بازم اجرا نمی کنه یعنی اصلا رو رویداد OnClick نمی ره

alireza_s_84
دوشنبه 31 خرداد 1389, 16:15 عصر
مرسی از جوابت ولی بازم اجرا نمی کنه یعنی اصلا رو رویداد OnClick نمی ره
برات یک نمونه میذارم ببین همین کد شماست فقط چیزی که گفتم رو تغییر دادم:

saraytanha
دوشنبه 31 خرداد 1389, 16:55 عصر
من دوباره کدم رو گذاشتم ... کاری که شما گفتید درسته اما رو برنامه من اجرا نمی شه... نمی دونم چرا؟؟؟



public partial class MasterPage : System.Web.UI.MasterPage
{
protected void Page_Load(object sender, EventArgs e)
{
using (SqlDataReader read = LoginDataAccess.Access())
{
while (read.Read())
{
LinkButton test = new LinkButton();
test.ID = "test";
test.Text = "LBtest ";
test.Font.Underline = false;
test.Click += new EventHandler(test_Click);
Panel1.Controls.Add(test);
}
}
}
void test_Click(object sender, EventArgs e)
{
string s = "ssss";
Response.Write("Link clicked!");
}
}

Peyman.Gh
دوشنبه 31 خرداد 1389, 16:58 عصر
اگر خطا میدهد متن خطا را قرار دهید.

saraytanha
دوشنبه 31 خرداد 1389, 17:03 عصر
مرسی از پاسختون
فیل شما اجرا می کنه
اما نمی دونم چرا تو برنامه من اجرا نمی شه
این تغیرات رو تو page_lode مستر انجام می شه کدم رو دوباره می ذارم




public partial class MasterPage : System.Web.UI.MasterPage
{


protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
using (SqlDataReader read = LoginDataAccess.Access())
{
while (read.Read())
{
LinkButton test = new LinkButton();
test.ID = "test";
test.Text = "LBtest ";
test.Font.Underline = false;
test.OnClientClick = "test_Click";
Panel1.Controls.Add(test);
{
{
{
{
{

saraytanha
دوشنبه 31 خرداد 1389, 17:19 عصر
اگر خطا میدهد متن خطا را قرار دهید.

خطا نمی ده اما اصلا اجرا نمی شه و همون صفحه دوباره refresh می شه