PDA

View Full Version : حرفه ای: ارسال به ایمیل تکست باکس های فرم ویر



rezasheshbolooki
چهارشنبه 07 مرداد 1394, 21:32 عصر
با سلام. بنده یک فرم ویو دارم که کاربر اون رو پر میکنه جدول رو پر میکنه.
سوال من اینجاست که چجوری میتونم اون تکست باکس هایی رو که پر میکنه بشه ایمیل کرد؟
با ارسال ایمیل مشکلی ندارم منتها تکست باکس ها رو در کد بیهایند نمیشناسه. تکست باکس ها هم asp هستند.

با تشکر.

hamid_0341
پنج شنبه 08 مرداد 1394, 06:45 صبح
نمیدونم درست متوجه شدم یا نه
شما یک حلقه داخل کنترل های فرم ویو بنداز و textbox ها را ایمیل کن
foreach (FormViewRow r in fv.Controls[0].Controls)
{
foreach (TableCell cell in r.Controls)
{
foreach (Control c in cell.Controls)
{
/// your codes
}
}
}

rezasheshbolooki
پنج شنبه 08 مرداد 1394, 12:11 عصر
نمیدونم درست متوجه شدم یا نه
شما یک حلقه داخل کنترل های فرم ویو بنداز و textbox ها را ایمیل کن
foreach (FormViewRow r in fv.Controls[0].Controls)
{
foreach (TableCell cell in r.Controls)
{
foreach (Control c in cell.Controls)
{
/// your codes
}
}
}


آقا من یک فرم ویو گذاشتم و چندتا تکست باکس گذاشتم برای مثلا قسمت تماس با!
حالا مشکل اینجاست وقتی اسم یا آیدی تکست باکس هارو در کد بیهاند میزنم نمیشناسه. اما اگر خارج از محدوده تمپلیت فرم ویو تکس باکس بذارم ، در محیط کد بیهایند راحت میشه باهاش کار کرد!

hamid_0341
پنج شنبه 08 مرداد 1394, 16:45 عصر
آقا من یک فرم ویو گذاشتم و چندتا تکست باکس گذاشتم برای مثلا قسمت تماس با!
حالا مشکل اینجاست وقتی اسم یا آیدی تکست باکس هارو در کد بیهاند میزنم نمیشناسه. اما اگر خارج از محدوده تمپلیت فرم ویو تکس باکس بذارم ، در محیط کد بیهایند راحت میشه باهاش کار کرد!
خُب درستش همینه ! اگر میخواهی توی codebehind دسترسی داشته باشی بیرون از فرم ویو بزار وگرنه باید کنترل ها را در code behind تعریف کنید. یه نمومه که Label1 را تغریف کرده براتون قراردادم.
if (FormView1.CurrentMode == FormViewMode.ReadOnly)
{
//Check the RowType to where the Control is placed
if (FormView1.Row.RowType == DataControlRowType.DataRow)
{
//Just Changed the index of cells based on your requirement
Label lbl = (Label)FormView1.Row.Cells[0].FindControl("Label1");
if (lbl= !null)
{
lbl.Text = "Found a Label";
}
}
}

rezasheshbolooki
پنج شنبه 08 مرداد 1394, 21:13 عصر
خُب درستش همینه ! اگر میخواهی توی codebehind دسترسی داشته باشی بیرون از فرم ویو بزار وگرنه باید کنترل ها را در code behind تعریف کنید. یه نمومه که Label1 را تغریف کرده براتون قراردادم.
if (FormView1.CurrentMode == FormViewMode.ReadOnly)
{
//Check the RowType to where the Control is placed
if (FormView1.Row.RowType == DataControlRowType.DataRow)
{
//Just Changed the index of cells based on your requirement
Label lbl = (Label)FormView1.Row.Cells[0].FindControl("Label1");
if (lbl= !null)
{
lbl.Text = "Found a Label";
}
}
}


خب بذارید اینجوری براتون شرح بدم.
ما یک صفحه فروشگاه داریم که محصولات رو با دیتالیست نشون دادم. بر روی هر محصول که کلیک میشه پارامتر آیدی محصول به عنوان کوئری استرینگ به صفحه محصول میره و مشخصاتش نمایش داده میشه.
در صفحه محصول برای ارسال پیام یک فرم ویو گذاشتم که به صورت insert قرارش دادم. که با پر کردن تکست باکس ها پیام در جدول ذخیره میشه همچنین آیدی مربوطه هم ذخیره میشه. حالا میخوایم فرم ایمیل هم بشود. مشکلی از بابت ایمیل ندارم منتها موندم اون آیدی رو چکار کنم؟ کلا فرم ویو رو پاک کردم و تکست باکس گذاشتم! اون آیدی رو چجوری باید با دیتاست توی جدول بریزم؟ ممنون