PDA

View Full Version : سوال: اجرا نشدن onrowcommand گرید



mahdidabaghi
جمعه 27 تیر 1393, 01:25 صبح
سلام به دوستان
من یک گرید دارم که اونو به صورت دستی پرش میکنم و یه button field هم در ستون اخرش برای انجام یک سری کارها قرار دادم که نتیجش شده شکل زیر :
121237
حالا میخوام با کلیک روی هر کدوم از باتن فیلد ها دستورات سروری اجرا باشه و جوری که تو نت سرچ زدم باید واسه این کار از comman name واسه دکمه بزارم و در رویداد onrowcommand گرید هندلش کنم
مشکل اینه چون من از مسترپیج استفاده میکنم این رویداد اصلا به مرحله اجرا هم نمیرسه ....:گریه:
ولی اگه در مستر نذارم اجرا میشه ....
ممنون میشم راه حل این مشکل رو به بنده نشون بدید
سپاس فراوان

dehqhani
جمعه 27 تیر 1393, 07:52 صبح
دوست عزیز من که به این شکل انجام میدم تو مستر پیج هم مشکلی نداشتم کدش رو میزارم شاید بدردت بخوره

<asp:TemplateField HeaderText="نمایش">

<ItemTemplate>
<asp:HiddenField ID="HiddenID" runat="server" Value='<%# Eval("id") %>' />
<
<asp:ImageButton class="myimg" id="openwin" runat="server" ImageUrl="~/Image/View_icon.png" OnClick="btn_view_Click" />
</ItemTemplate>
<ItemStyle Width="80px" />

</asp:TemplateField>



سمت code bihind

protected void btn_view_Click(object sender, ImageClickEventArgs e)
{

*
var gvr = (GridViewRow)((ImageButton)sender).Parent.Parent;
var HF = (HiddenField)gvr.FindControl("HiddenID");
Session.Add("id", HF.Value);
Response.Redirect("ReportDailyPersonel.aspx");
//Session["page"] = Drop_pages.SelectedValue;


}

امیدوارم مشکلت حل شه

mahdidabaghi
جمعه 27 تیر 1393, 11:37 صبح
ممنون مهندس ...
ولی من حتما باید از button field استفاده کنم (یعنی نمیتونم کنترل سمت سروری مثل باتن یا لیبل یا هر چیز دیگه ای رو تو گرید بذارم)
اخه گرید به صورت جی کوئری ایجکسی بایند میشه و یک سری داستان داره که کنترل سمت سروری نمیتونم استفاده کنم.
تا حالا کسی از button field استفاده نکرده که از قضا اون صفحه هم از مستر به ارث ببره؟؟:گریه: