PDA

View Full Version : command argument



papa_fal
سه شنبه 07 شهریور 1385, 09:32 صبح
با سلام به دوستان

همون طور که می دونید در دیتا گرید اگر من برای هر سطر یک image button بذارم از طریق command argument مربوط به آن می توانم مقدار یک فیلد از آن سطر را به دست بیاورم.که از نوع template column است.
از طریق کد زیر:


<asp:ImageButton id=ImageButton1 runat="server" CommandArgument='<%# DataBinder.Eval(Container.DataItem,"prof_code")%>' ImageUrl="file:///C:\Inetpub\wwwroot\project\info.gif" CommandName="get_professor_details" >
</asp:ImageButton>

که بعد اگر خواستم این مقدار را به صفحه دیگری منتقل کنم:


Response.Redirect ("show_project_title.aspx?prof_code=" +e.CommandArgument.ToString()+"&stu_code=" +TextBox1.Text );

اما سوال من این جاست اگر من از کنترلهای دیگر به جز image button استفاده کنم .چطور می توانم مقدار یک فیلد را به دست بیاورم؟؟؟(مثلا از نوع button column) مثل:select item style چون مثل این که دیگر خاصیت command argument ندارند.

با تشکر از شما

reza_rad
سه شنبه 07 شهریور 1385, 10:26 صبح
چطور می توانم مقدار یک فیلد را به دست بیاورم؟؟؟(مثلا از نوع button column) مثل:select item style چون مثل این که دیگر خاصیت command argument ندارند.

شما باید از هر کنترلی استفاده می کنی اونو بخونی.
یعنی مثلا اگه dropdownlist کار کردی مقدار اون سطر و ستون خاص از گرید رو بصورت یک dropdownlist بخونی.
بعدش حالا هرکدوم از این کنترلها یک خصوصیتی داشتن که شما ازش استفاده کردی دیگه...
همون خصوصیت رو از روی کنترلت می خونی.
مثلا برای خوندن dropdownlist اینجوری:


drpd1=(dropdownlist)grid1.items[1].cells[1].controls[1];