PDA

View Full Version : ارسال 2 پارامتر در GridView



Aidin
پنج شنبه 09 آبان 1387, 14:36 عصر
سلام

آیا امکان داره در یک BoundField GridView 2 تا پارامتر بفرستیم ؟

بطور مثال به این شکل :

<asp:HyperLinkField DataNavigateUrlFields="APPParent" DataNavigateUrlFormatString="Report.aspx?IP=<%=IP %>&PC=<%=PC %>&User=<%=User %>&APP={0}" "
مشکل اینه که <%%> رو Parse نمیکنه و خطا میگیره .

mostafa_sgh
پنج شنبه 09 آبان 1387, 15:21 عصر
سلام دوست عزیز

شما از <% #%> باید در حالت Template ازش استفاده کنید .

و اما ....

این کار در HyperLinkField امکان پذیره .

ولی در کل شما برای این کار از 2 روش می تونید استفاد کنید :

اگر این فیلدها در DataSource وجود دارند :



<asp:HyperLinkField DataNavigateUrlFields="IP,Pc,User,App"
DataNavigateUrlFormatString="Report.aspx?IP={0}&amp;PC={1}&amp;User={2}&amp;APP={3 }"
DataTextFormatString="Report"/>

یا

<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("Report.aspx?IP={0}&PC={1}&User={2}&APP={3}",Eval("IP"),Eval("PC"),Eval("User"),Eval("APP")) %>'
Text="Report"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>


اگر در همان صفحه توسط متغیر های محلی مقداردهی میشوند :



<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("Report.aspx?IP={0}&PC={1}&User={2}&APP={3}",IP,PC,User,APP) %>'
Text="Report"></asp:HyperLink >
</ItemTemplate>
</asp:TemplateField>

Aidin
پنج شنبه 09 آبان 1387, 18:40 عصر
ممنون
و اگه ترکیبی از متغیر و مقدار Data Source باشه ؟

mostafa_sgh
پنج شنبه 09 آبان 1387, 19:00 عصر
فکر نمیکنم چیزی مبهم باشه ؟

خوب معلومه ....


<asp:TemplateField>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server"
NavigateUrl='<%# String.Format("Report.aspx?IP={0}&PC={1}&User={2}&APP={3}",IP ,PC,Eval("User"),APP) %>'
Text="Report"></asp:HyperLink >
</ItemTemplate>
</asp:TemplateField>

Aidin
پنج شنبه 09 آبان 1387, 19:10 عصر
ممنون دوست من
البته باز هم نشد که در GridView این کارو انجام بدم و با Repeater کارو راه انداختم.

mostafa_sgh
پنج شنبه 09 آبان 1387, 19:22 عصر
اگه امکان داره چیزی که با Repeater پیاده سازیش کردی اینجا بزار !

ممنون

Aidin
پنج شنبه 09 آبان 1387, 21:02 عصر
<asp:Repeater ID="Repeater1" runat="server">
<ItemTemplate>

<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# String.Format("Report.aspx?IP={0}&PC={1}&User={2}&APP={3}",IP,PC,User,DataBinder.Eval(Container.DataItem, "APPParent")) %>'>
<%# DataBinder.Eval(Container.DataItem, "APPParent") %>
</asp:HyperLink>
<br />

</ItemTemplate>
</asp:Repeater>

saraytanha
سه شنبه 19 مهر 1390, 22:58 عصر
منم دنبال این موضوع می گشتم
و به این نتیجه رسیدم
این کد 100 درصد تست شده و بدون خطاست

<asp:HyperLink ID="HLComment" runat="server" CssClass="fontgetdate" Font-Underline="false"
NavigateUrl='<%# String.Format("~/SinglePost.aspx?PostID={0}&SumComment={1}", Eval("PostID"), Eval("SumComment")) %>'
Text='<% #Eval("SumComment")%>' Target="_blank" >
</asp:HyperLink>