PDA

View Full Version : سوال: ایجاد شی در هنگام اجرای برنامه



veniz2008
یک شنبه 16 بهمن 1390, 12:23 عصر
سلام دوستان،در مورد سوالی که میخوام بپرسم جستجو کردم ولی همش به زبان VB بود،من دنبال C#‎ اش میگردم،میخوام برنامه یک عددی رو دریافت کنه و به تعداد این عدد شی LinkButton ایجاد کنم،یعنی در حین اجرای برنامه، شی به تعداد مورد نظر ایجاد بشه
،و اینکه بعد از ایجاد شدنش چطوری میتونم واسه این شی ایجاد شده کدنویسی کنم؟یعنی کد مورد نظرم رو باید کدوم قسمت بنویسم.

hamid_shrk
یک شنبه 16 بهمن 1390, 12:37 عصر
سلام با این کد :

for (int i = 0; i < 10; i++)
{



LinkButton link = new LinkButton();
link.Text = "test" + i;
link.PostBackUrl = "http://www.google.com";
link.ID = "test" + i;
this.form1.Controls.Add(link);
}

veniz2008
یک شنبه 16 بهمن 1390, 13:54 عصر
فقط یک سوال دارم،نگفتید که چطور میتونم واسه این لینک باتن ها کدنویسی کنم،در حالت عادی که لینک باتن رو بصورت دستی اضافه میکنیم کافیه که با دابل کلیک بر روی شی و نوشتن کدها درون رویداد کلیک ،عمل مورد نظر رو انجام داد،ولی اینجا که بصورت زمان اجرا شی رو تولید میکنیم کد مورد نظر رو باید چطوری نوشت؟ مثلا میخوام که لینک باتن اولم به یکی از جدول های بانکم وصل بشه(جدول درس) و اونو داخل یک گرید نمایش بدم و لینک باتن دوم به جدول دانشجو وصلش کنم و لیست دانشجویان رو نمایش بده،چطوری میتونم این کدها رو به این لینک باتن ها نسبت بدم؟

hamid_shrk
یک شنبه 16 بهمن 1390, 15:35 عصر
برای bind کردن کافیه یک تمپلیت فیلد به گریدتون اضافه کنید و اینو واسش بنویسید :


<ItemTemplate>
<asp:LinkButton ID="NewsCat" runat="server" CssClass="grid_Link" CommandArgument='<%# Eval("idProducts") %>'
CommandName="Edit" Text='<%# Eval("Name") %>'></asp:LinkButton>
</ItemTemplate>

veniz2008
یک شنبه 16 بهمن 1390, 17:20 عصر
متاسفانه متوجه نشدم که چطور باید استفاده کنم،ببینید با کدی که برای ایجاد شی گذاشتید،شی لینک باتن ایجاد میشه،اما کدی که برای اتصال به گرید گذاشتید رو متوجه نمیشم،من در حقیقت لینک باتن ها رو برای نمایش لیست دروس هر ترم دانشجو میخوام،مثلا اگر دانشجو ترم سومش باشه با روش بالا 3 تا لینک باتن ایجاد میکنم،حالا میخوام که اگه بر روی لینک باتن 1 کلیک کرد دروس ترم اولش رو ببینه،اگه رو لینک باتن 2 کلیک کرد دروس ترم دوم و ...،لطفا بیشتر توضیح بدید،تشکر.

hamid_shrk
یک شنبه 16 بهمن 1390, 18:00 عصر
شما اون کد اول من رو بیخیال بشید کلا.
تو پست دومم یک لینک باتن به گرید اضافه کردم که شما میتونید هر تعدادی که دوست دارید اضافه کنید. فقط باید command nameهاش فرق کنه ،command argumant هم که مقدار id هر ستون باید باشه .
حالا با این کد میتونید کلیک رو تشخیص بدید و عملیات مورد نظر رو انجام بدید :

protected void gridview_RowCommand(object sender, GridViewCommandEventArgs e)
{
switch (e.CommandName)
{
case "Edit":
//مجموعه دستورات
break;

case "Remove":
//مجموعه دستورات
break;
}
}

veniz2008
یک شنبه 16 بهمن 1390, 19:18 عصر
مرسی از توجه شما،یه سوال:بار اول که از حلقه for استفاده کرده بودید مشخص بود که مثلا چندتا لینک باتن ایجاد بشه،من تعداد ترم ها رو به حلقه for میدادم و اون واسم linkButton ایجاد میکرد،ولی در این کدی که مربوط به گرید هست چطور میشه به تعداد ترم لینک باتن ایجاد کرد؟(نمیخوام بصورت دستی وارد کنم،میخوام به تعداد ترم های دانشجو بصورت خودکار اضافه بشه،مثل همون حلقه for)،روش اول بیشتر به درد من میخورد ولی اصراری ندارم که از اون روش استفاده کنم،اگه امکانش هست که از روش اول استفاده کرد ممنون میشم همونو بگید که چطوری میشه واسه هر لینک باتن کدنویسی کرد،درغیراینصورت همین روش دوم رو بگید،از توجه شما دوست عزیز سپاسگزارم.