PDA

View Full Version : سوال: نمایش مقدار پیش فرض textbox از datalist صفحه قبل



maralahmady
چهارشنبه 01 اردیبهشت 1395, 06:18 صبح
سلام برای این که مقدار textbox ها به صورت پیش فرض جزییات یک فایل انتخاب شده از دیتالیست صفحه قبل را نمایش دهد چه کدی باید بنویسم ؟ ممنون می شوم اگر کسی راهنمایی بکند

notlikeothers
چهارشنبه 01 اردیبهشت 1395, 08:36 صبح
درود.اول باید موقع بایند دیتالیست خاصیت DataKeyFieldرو به کلید اصلی بدین
بعد تو قسمت کلاینت commandname بزار واسش مثلا "commandname="detail بعد تو رویداد OnItemCommand بیا این کد رو بزار

int Id =int.Parse( datalistname.DataKeys[(int)e.Item.ItemIndex].ToString());// ای دی که تو قسمت بالا توضیح دادم(DataKeyField)


if (e.CommandName == "commandname")//میگه اگر کامند نیم فلان بود


{

response.redirect(yourpage.aspx?key=id)//ریدایرکت میکنه به صفحه که گفتین و همراهش یک کلید میاره(کوئری استرینگ)

}




تو صفحه جدید هم با ایدی که اوردی فیلتر رو انجام بده و اطلاعات رو بایند کن به تکس باکس

maralahmady
سه شنبه 07 اردیبهشت 1395, 09:22 صبح
با تشکر از پاسخ شما
این کار را انجام دادم ولی key=id به صورت استاتیک می باشد و در نوار آدرس برای همه فایل ها ی انتخابی key=id نمایش داده می شود و به id مقدار داده نمی شود مشکل چیست ؟

rezashaban
چهارشنبه 08 اردیبهشت 1395, 02:44 صبح
سلام
اون خط کدی که دوست عزیزمون گفت رو باید به این صورت بنویسی


response.redirect("yourpage.aspx?key="+Id);

notlikeothers
چهارشنبه 08 اردیبهشت 1395, 03:08 صبح
بایند گرید و قسمت
OnItemCommand رو بزار چک کنیم

maralahmady
چهارشنبه 08 اردیبهشت 1395, 13:22 عصر
مشکل id حل شد
فقط نمایش جزییات فایل انتخابی درون دیتالیست نمیباشد داخل خود صفحه است اطلاعات رو چطور به textboxها بایند کنم؟

notlikeothers
پنج شنبه 09 اردیبهشت 1395, 03:24 صبح
اگر از spاستفاده میکنی که

select from table name where id=@id

@idرو با این روش بدست میاری و به عنوان پارامتر به sp میدی


request["id"]

اگر از ef استفاده میکنی

var info=from x in entity.tablename
where x.id=id
select x;

maralahmady
دوشنبه 13 اردیبهشت 1395, 14:26 عصر
میشه واضح تر بفرمایید ..متوجه نشدم
مشکل id حل شد
الان چطور اطلاعات رو به تکست باکس ها بایند کنم

maralahmady
شنبه 18 اردیبهشت 1395, 23:07 عصر
دوستان میشه راهنمایی کنید ..عجله دارم:افسرده:

alibabaei2
یک شنبه 19 اردیبهشت 1395, 09:57 صبح
وقتی ID را دارید یک query بنویسید که مقادیر را از دیتابیس بخواند و در textbox ها نمایش دهد

maralahmady
سه شنبه 28 اردیبهشت 1395, 17:40 عصر
به جای query کدهای زیر را نوشتم برای شرط id_file چه کدی بنویسم ؟ چون این قسمت کدwhere id_file= + Request.QueryString["id"].ToString() خطا می دهد چه تغییری بدهم؟

public string title,chbody,keyword,comment,free,english,id_file, id_field,translate,price,state,address_f;

protected void Page_Load(object sender, EventArgs e)
{
SqlConnection cnc = new SqlConnection(ConfigurationManager.ConnectionStrin gs["db_piliConnectionString1"].ToString());
cnc.Open();
SqlCommand cmd = new SqlCommand("SELECT id_file,title,chbody,keyword,comment,id_field,free ,english,translate,price,state,address_f FROM t_file where id_file= +Request.QueryString["id"].ToString()", cnc)
DataTable dt = new DataTable();
dt.Load(cmd.ExecuteReader());
cnc.Close();
//*************************
title = dt.Rows[0]["title"].ToString();
chbody = dt.Rows[0]["chbody"].ToString();
keyword = dt.Rows[0]["keyword"].ToString();
comment = dt.Rows[0]["comment"].ToString();
free = dt.Rows[0]["free"].ToString();
english = dt.Rows[0]["english"].ToString();
state = dt.Rows[0]["state"].ToString();
translate = dt.Rows[0]["translate"].ToString();
id_field = dt.Rows[0]["id_field"].ToString();
price = dt.Rows[0]["price"].ToString();
address_f = dt.Rows[0]["address_f"].ToString();


//**********
TextBox3.Text = title;
TextBox4.Text = chbody;
TextBox5.Text = keyword;
TextBox6.Text = comment;
CheckBox1.Checked = System.Convert.ToBoolean(english);
CheckBox2.Checked = System.Convert.ToBoolean(free);
CheckBox3.Checked = System.Convert.ToBoolean(translate);
CheckBox4.Checked = System.Convert.ToBoolean(state);
DropDownList1.Text=id_field;
TextBox7.Text = price;
Label2.Text = address_f;
}

notlikeothers
چهارشنبه 29 اردیبهشت 1395, 08:59 صبح
درود.اگر پروزه دانشگاه هستش که هیچ در غیر این صورت این روش کد نویسی کاملا اشتباه هست.injectionمیخوره.
بعدش شما اول تو ادرس بار نگاه کن کوئری id داری یا نه.قبل اینکه بخوای sqlcommandرو پر کنی چک کن request["id"] پر هست اگر بود بقیه عملیات.
ارور رو بزاری بیشتر میشه کمک کرد