PDA

View Full Version : سوال: اشکال در Eval و query string



mehdifaster
چهارشنبه 14 اسفند 1392, 18:26 عصر
سلام دوستان من یه مشکلی دارم توی Eval و query string ممنون میشم راهنمایی کنید.

من یه gridview دارم که داخلش یه لینک دارم و با query string پارامتر id شو به صفحه webform2.aspx فرستادم.

مثل کد زیر:
کد webform1.aspx:


<a href='<%# Eval("id","webform2.aspx?id={0}")%>'>

تا اینجا همه چیز حله و این کارا به خوبی انجام میشه و قسمت url صفحه Webform2 همه چی انتقال پیدا میکنه منظورم همون id هر رکورد هست.

و داخل صفحه Webform2 یه FormView گذاشتم که داخلش یه Label هست مثل کد زیر:


<asp: Label ID="label5" runat="server" Text='<%#Eval("text")%>'></asp:Label>

و sqldata source هم به این شکل:



<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:WeblogDB %>"
SelectCommand="SELECT * FROM [tbText]"></asp:SqlDataSource>

مشکلم اینه که وقتی صفحه WebForm2.aspx لود میشه داخل Label فقط اولین رکورد درج میشه. یعنی روی هر لینک داخل gridview در Webform1.aspx کلیک میکنم url داخل WebForm2.aspx عوض میشه اما داخل label فقط رکورد اول دیتابیسم درج میشه.
لطفا کمکم کنید.
شرمنده دیگه ما مبتدی هستیم.

farzane_t
چهارشنبه 14 اسفند 1392, 18:56 عصر
سلام
دوست من ، Formview فقط یک رکورد رو نمایش میده. اگر رکوردهای بیشتری برای نمایش دارید از دیتالیست یا گرید ویو استفاده کنید.

mehdifaster
چهارشنبه 14 اسفند 1392, 18:59 عصر
منم میخوام فقط یه رکورد رو نشون بدم. همون رکوردی که کلیک میکنم و id اون قرار میگیره تو قسمت url. اما هر رکوردی رو کلیک میکنم رکورد اول داخل دیتابیسم رو نشون میده. id های url تغییر میکنه اما رکورد داخل formview رکورد اول داخل دیتابیسم رو نشون میده

farzane_t
چهارشنبه 14 اسفند 1392, 19:26 عصر
متوجه شدم. خب باید برای دستور Select شرط بزارید. id رو از کوئری استرینگ بگیرید . به این شکل :




if (Request.QueryString["id"] != null)
{
int id = Convert.ToInt32(Request.QueryString["id"]);
using (SqlConnection con = new SqlConnection(ConnectionString))
{
string str = "select * from table where id =@id";
SqlCommand cmd = new SqlCommand(str, con);
con.Open();
SqlDataReader dr = cmd.ExecuteReader();
Formview1.DataSource = dr;
Formview1.DataBind();
}
}

mehdifaster
چهارشنبه 14 اسفند 1392, 20:27 عصر
شرمنده دوست عزیز.

این بار صفحه خالی میاد

fakhravari
چهارشنبه 14 اسفند 1392, 22:01 عصر
string str = "select * from table where id ="+id;

mehdifaster
چهارشنبه 14 اسفند 1392, 22:12 عصر
farzane_t (http://barnamenevis.org/member.php?78050-farzane_t) دستتون درد نکنه زحمت کشیدن. مشکلم حل شد.
مرسی:لبخندساده: