PDA

View Full Version : فایر نشدن رویداد باتون کلیک در web user control



C.mohsen
پنج شنبه 16 خرداد 1392, 02:11 صبح
سلام من یه باتون گذاشتم توی web user control .کد های داخلش اجرا نمیشن.چیکار کنم؟

parvizwpf
پنج شنبه 16 خرداد 1392, 02:15 صبح
کدها رو بزار.

C.mohsen
پنج شنبه 16 خرداد 1392, 14:36 عصر
کد های داخل وب کنترل ascx.cs
public void sabt(string mozou, string matn, string comment, string tarikh)
{

lmozou.Text = mozou.ToString();
lmatn.Text = matn.ToString();
Int32 tempint = Convert.ToInt32(comment);
AccessDataSource2.SelectCommand = "select * from commenttable where shom=" + tempint;
GridView1.DataBind();
int gi =GridView1.Rows.Count;
for(int i=0;i<gi;i++)
{

lcomment.Text += "<hr />" + GridView1.Rows[i].Cells[1].Text;
}

ldate.Text = tarikh.ToString();
commentnum = comment;
}


protected void bsabtnazar_Click(object sender, EventArgs e)
{

Int32 tempint = Convert.ToInt32(commentnum);
AccessDataSource1.InsertCommand = "insert into commenttable values(" + tempint + ",'" + comt.Text.ToString() + "')";
AccessDataSource1.Insert();
GridView1.DataBind();
}
کدهای دخل صفحه ای که وب کنترل رو میخونه aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
int gi = GridView1.Rows.Count;
for (int i = 0; i < gi; i++)
{
postturk newpost = (postturk)Page.LoadControl("~/postturk.ascx");
string a = GridView1.Rows[i].Cells[0].Text.ToString();
string b = GridView1.Rows[i].Cells[1].Text.ToString();
string c = GridView1.Rows[i].Cells[2].Text.ToString();
string d = GridView1.Rows[i].Cells[3].Text.ToString();
newpost.sabt(a, b, c, d);

Panel1.Controls.Add(newpost);
}



}

forestasphalt
پنج شنبه 16 خرداد 1392, 16:56 عصر
شما توقع دارید sabt یا این bsabtnazar_Click اجرا بشه؟
این تابع توی load وب کنترل فراخوانی کردی؟
از breakpoint استفاده کن ببین داخل این 2 تا تابع یا حتی تابع load میشه؟

C.mohsen
پنج شنبه 16 خرداد 1392, 23:04 عصر
برک پوینت هم زدم داخل تابع اجرا میشه .ولی مال باتون نه مثل اینکه اصلا وجود نداره
میشه دلیلش رو بگی؟

forestasphalt
جمعه 17 خرداد 1392, 00:11 صبح
محتویات bsabtnazar_Click تا زمانیکه که کلیک نشه اجرا نمیشه

C.mohsen
جمعه 17 خرداد 1392, 00:41 صبح
محتویات bsabtnazar_Click تا زمانیکه که کلیک نشه اجرا نمیشه
اصلا نمیدونستم خوب شد گفتی مرد حسابی این چه جوابیه اخه دادی؟

forestasphalt
جمعه 17 خرداد 1392, 10:04 صبح
اصلا نمیدونستم خوب شد گفتی مرد حسابی این چه جوابیه اخه دادی؟
برک پوینت هم زدم داخل تابع اجرا میشه .ولی مال باتون نه مثل اینکه اصلا وجود نداره!!!!
جواب سوالی که پرسیدی همین بود خب!سوالت رو چند بار بخون!

C.mohsen
جمعه 17 خرداد 1392, 20:18 عصر
اخه شما فکر کن من حداقل برنامه نویسیم اینه .یعنی من نمیدونستم اگه باتون کلیک نکنی اجرا نمیشه.نمیدونم چی بگم والله

forestasphalt
جمعه 17 خرداد 1392, 23:44 عصر
اخه شما فکر کن من حداقل برنامه نویسیم اینه .یعنی من نمیدونستم اگه باتون کلیک نکنی اجرا نمیشه.نمیدونم چی بگم والله
دوست عزیز من قصد بی احترامی به شما رو نداشتم شما استاد مایید
آخه من سوالت رو اینجوری متوجه شدم!و فکر کنم همه همینجوری متوجه شدن باشن!
در کل اگه باعث رنجش شما شدم معذرت میخوایم

C.mohsen
یک شنبه 19 خرداد 1392, 01:21 صبح
کسی نبود کمک کنه

Himalaya
یک شنبه 19 خرداد 1392, 02:32 صبح
سلام
یه مثال از چیزی که میکی درست کن بزار اینجا بعد بگو ایرادش اینه چیکار کنم.

C.mohsen
یک شنبه 19 خرداد 1392, 14:06 عصر
ببینید من میخام یک وبلاگ درست کنم .خوب برای فراخونی پستها مشکلی ندارم .ولی برای ثبت نظر نمیدونم چیکار کنم.برای فراخوانی پستها از یوزر کنترل استفاده میکنم . به این صورت که تو حلقه فور برای هر رکورد که هرکدوم یک پست هستند یدونه یوزر کنترل درست میکنم و تو صفحه اصلی قرار میدم. ولی برای ثبت نظر نمیدونم چیکار کنم.لطفا کمک کنید.3 تا پروژه این ترم باید درست کنم.واقعا دیگه وقت ندارم

Himalaya
یک شنبه 19 خرداد 1392, 14:35 عصر
ببین من که نگفتم چیکار میخوای بکنی یا چه برنامه ای میخوای بنویسی.
عنوان تاپیک یه چیزی میگه ولی تو پست 13 کلا یه چیز دیگه خواستید.
در مورد فایر نشدن ایونت باتون تو web user control، عرض کردم یه پروژه کوچیک درست کن که این مشکلو داشته باشه و بقیه بیان تست کنن ببینن مشکلش چیه. چون تو حالت معمول ایونت کلیک اجرا میشه و مشکلی هم نداره. حالا باید دید چیکار کردی تو کدات که نمیزاره ایونت کلیک اجرا بشه.
مثلا یه مشکل میتونه مسئله ای باشه که تو لینک زیر بهش اشاره شده. (تاپیک های مشابه که پایین همین صفحه قرار دارن رو یه نگاه بنداز)
اجرانشدن یک رویداد در web user control (http://barnamenevis.org/showthread.php?233366-اجرانشدن-یک-رویداد-در-web-user-control)

ممکن هست ایراد از چیز دیگه باشه که تا پروژت و شرایط پروژت مشخص نباشه نمیشه چیزی گفت

موفق باشید

C.mohsen
یک شنبه 19 خرداد 1392, 14:47 عصر
اولا
Events in User Controls


When a user control contains Web server controls, you can write code in the user control to handle the events raised by the child controls. For example, if your user control contains a Button (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button%28v=vs.100%29.asp x) control, you can create a handler in the user control for the button's Click (http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.button.click%28v=vs.100% 29.aspx) event.
By default, events raised by child controls in a user control are not available to the host page. However, you can define events for your user control and raise them so that the host page is notified of the event. You do this in the same way that you define events for any class. For more information, see Raising an Event (http://msdn.microsoft.com/en-us/library/wkzf914z%28v=vs.100%29.aspx).


اینو از سایت msdn برداشتم شما چجوری میگین تو حالت معمول اجرا میشه .کد ها هم اولای این تاپیک هست.میتونستید بخونید.بعدشهم گفتم که چیکار کردم و میخام چیکار کنم یعنی تا بحال کسی برنامه ثبت کامنت ننوشته؟اگه من بتونم شماره ای که برای هر پست اختصاص دادم رو به داخل یه باتون که تو همون حلقه فور که گفتم ایجاد کردم وارد کنم.خیلی کارم راحت میشه.بر فرض من 20 تا باتون با فور ایجاد کردم واسه همشون جمعا یدونه ایونت نوشتم ولی میخام وقتی باتون شماره 10 کلیک شد بفهمم باتون شماره 10 کلیک شده یا بهتر بگم شماره 10 داخل ایونت در دسترسم باشه.

Himalaya
یک شنبه 19 خرداد 1392, 21:19 عصر
سلام :اشتباه:
اولا

اینو از سایت msdn برداشتم شما چجوری میگین تو حالت معمول اجرا میشه
الان این متن انگلیسی که گذاشتی اینجا چه ربطی داره به عنوان تاپیک. من مطمئنم معنی اونو نگرفتی و برداشت خودتو کردی و رو همین حساب پست 15 رو دادی.
عنوان تاپیک:

فایر نشدن رویداد باتون کلیک در web user control

مفهوم متن بالا:
وقتی یک user control (که میتونه مثل یه صفحه n تا کنترل توش داشته باشه) حاوی یک کنترل سمت سروز مثل asp:button باشه، شما میتونید ایونت مربوط به این دکمه رو داخل user control ایجاد کنید.
به صورت پیش فرض همه ایونت هایی که توسط کنترل های داخل یک user control فایر میشن (مثل همون دکمه ای که مثال زدیم)، تو سطح Page ای که حاوی user control هستش، شناخته شده نیستن.
برای اینکه بتونید ایونت مربوط به این دکمه رو (دکمه داخل user control رو) داخل Page حاوی user control پیاده سازی کنید (و نه تو خود user control)، باید مثل زمانی که برای یه شی ایونت تعریف میکنید، اینجا هم همون روال رو در پیش بگیرید
دوما

کد ها هم اولای این تاپیک هست.میتونستید بخونید
ملت که بیکار نیستن بشینن یه سری کد بخونن ببینن شما منظورت چی بوده. بعدش هم مگه با خوندن کد میشه گفت چی به چیه؟ (اگه میشد که بعد از گذشت 4 روز تا الان شده بود دیگه) اونم چند خط کد که هیچ ارتباطی با مشکل گفته شده ندارن. اونم یه سری اسپاگتی کد

public void sabt(string mozou, string matn, string comment, string tarikh) {
lmozou.Text = mozou.ToString(); }
چون به من گفتی میخواستی کدا رو بخونی (تازه با خشونت هم گفتی :چشمک:) دارم اینا رو میگم ها. والا هر جور عشقته کد بزن. بگذریم از رعایت نکردن شی گرایی و قواعد نام گذاری و .... mozou مگه تو ورودی string نیست؟ چرا دوباره تبدیلش کردی به استرینگ؟ من ترجیح میدم این کدا رو نخونم. واسه همین گفتم یه پروژه بزار. باز هم کاری رو که من گفتم رو نکردی و یه سری توضیحات دادی که باور کن خیلیا حوصلشون نمیاد بشینن تو ذهنشون برنامه شما رو تحلیل کنن ببینن مشکلش چیه.

به هر حال امیدوارم دوستان دیگه بتونن بهتون کمک کنن

موفق باشید