PDA

View Full Version : انتخاب سطر در گریدویو و ارسال دیتا به صفحه دیگر



mahasti
دوشنبه 29 شهریور 1395, 10:38 صبح
سلام من در گریدویو یک دکمه TemplateField دارم که میخوام وقتی روش کلیک میکنم آی دی اون سطرو به صفحه دیگه منتقل کنه و درصفحه دوم باتوجه به آی دی ارسال شده یسری کارا انجام بشه.
از کدای زیر استفاده کردم:
مشکلم اینکه :
1-بار اول که دکمه رو میزنم دیتاکی رو برمیداره ولی به صفه دوم نمیره,بار دوم که دکمه رو میزنم میره و
2-اینکه سطر اولو که انتخاب میکنه همونو دیگه نگه میداره نمیذاره سطر دیگه ای انتخاب کنم..


<asp:TemplateField ShowHeader="False">
<ItemTemplate>
<asp:LinkButton ID="edit" runat="server" CausesValidation="False"
CommandName="Select" OnClick="edit_Click" >
ویرایش <span class="glyphicon glyphicon-edit"></span>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>



//

protected void edit_Click(object sender, EventArgs e)

if (GridView1.SelectedIndex != -1)
{
Response.Redirect("EditUser.aspx?key=" + key);

}


protected void GridView1_SelectedIndexChanged1(object sender, EventArgs e)

key = GridView1.SelectedDataKey.Value.ToString();

}

mehrzad_ali
چهارشنبه 31 شهریور 1395, 19:35 عصر
توی فرم لود ispostpack if بذار و دیتا رو توی if لود کن

taze kar 1
سه شنبه 06 مهر 1395, 01:18 صبح
سلام
اگه ناراحت نمیشی بهت بگم کارت از اول اشتباهه
چون همیشه باید یه بار postback بشه تا ایندکس تغییر کنه یعنی دفه اول ایندکس رو تغییر میدی دفه بعدی که کلیک میکنی چون یه چیزی انتخاب شده میره صفحه بعد
دوم اینکه همیشه فقط برای سطر اول کار میکنه
یه چیزی شبیه به این بنویس روی دکمه اینجا مثلا فیلد id هست


<asp:Button ID="Button1" runat="server" Font-Size="X-Small"
PostBackUrl='<%# Eval("id","page2.aspx?id={0}") %>' Text="show it" />