mehdivk
Registered User
- تاریخ عضویت
- 5 آپریل 2006
- نوشتهها
- 319
- لایکها
- 0
سلام به همه ی دوستان . مشکل من در رابطه با کنترل Datagrid و TemplateColumn می باشه
فرض کنید DataSource کنترل DataGrid من یه چيزی مثل جدول زیر باشه:
Name AccountType Family UserID
----------------- ----------------- ------------------------- -------------------
نقی احدی 0 1
مهدی ولیخانی 1 2
سعید احسانی 1 3
من در DataGrid یک TemplateColumn دارم به صورت زیر
وقتی این صفحه را در مرورگر می بینم روی هر لينکی که میرم آدرس توليد شده برای اون لينک دقیقا مقدار NavigateUrl در Source صفحه می باشه یعنی شکل زیر :
حالا همین کار رو با تگ <a> انجام میدم همه چی درست می شه یعنی TemplateColumn من به صورت زیر می شه:
و لينک های توليد شده به صورت زیر میشه
دوستان عزیز من به دليل اينکه می خوام از امکانات دیگر کنترل asp:HyperLink همچون Visible استفاده کنم مجبورم از اين کنترل به جای تگ <a> استفاده کنم.
از دوستان کسی هست که بدون راه حل اين مشکل چیه؟
فرض کنید DataSource کنترل DataGrid من یه چيزی مثل جدول زیر باشه:
Name AccountType Family UserID
----------------- ----------------- ------------------------- -------------------
نقی احدی 0 1
مهدی ولیخانی 1 2
سعید احسانی 1 3
من در DataGrid یک TemplateColumn دارم به صورت زیر
<TemplateColumn>
<ItemTemplate>
<asp:hyperlink ID="lnkEdit" Runat="Server" NavigateUrl='Default.aspx?content=UserProfile&userID=<%#DataBinder.Eval(Container.DataItem,"UserID")%>'>
<%#DataBinder.Eval(Container.DataItem,"Name")%> <%#DataBinder.Eval(Container.DataItem,"Family")%>
</asp:HyperLink>
</ItemTemplate>
</TemplateColumn>
<ItemTemplate>
<asp:hyperlink ID="lnkEdit" Runat="Server" NavigateUrl='Default.aspx?content=UserProfile&userID=<%#DataBinder.Eval(Container.DataItem,"UserID")%>'>
<%#DataBinder.Eval(Container.DataItem,"Name")%> <%#DataBinder.Eval(Container.DataItem,"Family")%>
</asp:HyperLink>
</ItemTemplate>
</TemplateColumn>
وقتی این صفحه را در مرورگر می بینم روی هر لينکی که میرم آدرس توليد شده برای اون لينک دقیقا مقدار NavigateUrl در Source صفحه می باشه یعنی شکل زیر :
Default.aspx?content=UserProfile&userID=<%#DataBinder.Eval(Container.DataItem,"UserID")%>
حالا همین کار رو با تگ <a> انجام میدم همه چی درست می شه یعنی TemplateColumn من به صورت زیر می شه:
<TemplateColumn>
<ItemTemplate>
<a href='Default.aspx?content=UserProfile&userID=<%#DataBinder.Eval(Container.DataItem,"UserID")%>'>
<%#DataBinder.Eval(Container.DataItem,"Name")%> <%#DataBinder.Eval(Container.DataItem,"Family")%>
</a>
</ItemTemplate>
</TemplateColumn>
<ItemTemplate>
<a href='Default.aspx?content=UserProfile&userID=<%#DataBinder.Eval(Container.DataItem,"UserID")%>'>
<%#DataBinder.Eval(Container.DataItem,"Name")%> <%#DataBinder.Eval(Container.DataItem,"Family")%>
</a>
</ItemTemplate>
</TemplateColumn>
و لينک های توليد شده به صورت زیر میشه
Default.aspx?content=UserProfile&userID=1
Default.aspx?content=UserProfile&userID=2
Default.aspx?content=UserProfile&userID=3
Default.aspx?content=UserProfile&userID=2
Default.aspx?content=UserProfile&userID=3
دوستان عزیز من به دليل اينکه می خوام از امکانات دیگر کنترل asp:HyperLink همچون Visible استفاده کنم مجبورم از اين کنترل به جای تگ <a> استفاده کنم.
از دوستان کسی هست که بدون راه حل اين مشکل چیه؟