PDA

View Full Version : مشکل در HyperLink نشدن در HyperLinkColumn



mohi_ka2
یک شنبه 01 مهر 1386, 13:19 عصر
با سلام به دوستان برنامه نویس .
من پایگاه داده ای دارم و می خواهم در آن دو ستون را به صورت لینک نمایش دهم و تنظیمات این دو ستون ا هم به صورت زیر انجام داده ام :


<Columns>
<asp:HyperLinkColumnDataTextField="Date"HeaderText="¢ں©ی¦ §©¤ ¦ © §© «ںی¢">
<HeaderStyleWidth="200px"/>
</asp:HyperLinkColumn>
<asp:HyperLinkColumnDataTextField="Title"HeaderText="مëیںë ¦ ©">
<HeaderStyleWidth="1000px"/>
</asp:HyperLinkColumn>
</Columns>


اما این دو ستون به صورت لینک ظاهر نمی شوند :ناراحت:
پایگاه داده من هم Access می با شد .
و مشکل دیگر من هم این است که لینکها ی Pager سر جایی که من برای آنها تعیین کرده ام قرار نمی گیرند و در همان محل پیش فرض می مانند(لینکهای Prev و Next ) البته قبل از اینکه از برنامه اجرا بگیرم در محل تعیین شده هستند ولی بعد از اجرا ......
اگر کسی در هر دو مورد راه حلی به نظرش رسید ممنون می شوم در اختیار من هم قرار دهد.
با تشکر

ClaimAlireza
یک شنبه 01 مهر 1386, 13:46 عصر
کد زیر را در itemTemplate یه gridview یا Detailview یا .... بگذارید.



<asp:TemplateField>
<ItemStyleHorizontalAlign="Left"/>
<ItemTemplate>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%# Eval("link") %>'Text='<%# Eval("link") %>'Target="_blank"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>

mohi_ka2
یک شنبه 01 مهر 1386, 13:57 عصر
کد زیر را در itemTemplate یه gridview یا Detailview یا .... بگذارید.



<asp:TemplateField>
<ItemStyleHorizontalAlign="Left"/>
<ItemTemplate>
<asp:HyperLinkID="HyperLink1"runat="server"NavigateUrl='<%# Eval("link") %>'Text='<%# Eval("link") %>'Target="_blank"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>


ممنون . ولی من از DataGride استفاده می کنم و چنین خصوصیتی را ندارد. شاید خوب متوجه منظورتان نشده باشم.:متفکر:

ClaimAlireza
یک شنبه 01 مهر 1386, 15:37 عصر
ببینید دوست عزیز شما اگر هم از Gridview استفاده نمیکنید باید در هر صورت NavigateUrl رو به مسیری که میخاین وقتی کلیک روی hyperlink صورت گرفت بره نسبت بدین.

حالا اگه این مسیر رو تو پایگاه داده ذخیره میکنین باید NavigateUrl رو به اون bind کنین مثل این تکه کد در بالا:



NavigateUrl='<%# Eval("link") %>'


موفق باشید....

mohi_ka2
یک شنبه 01 مهر 1386, 16:12 عصر
ممنون
ولی من نمی خوام با کلیک روی هایپر لینکها به صفحه خاصی برم بلکه می خوام بعد از کلیک روی این لینک متن تو ضیحات همون رکورد در پایین همان صفحه نمایش داده بشه .آیا در این صورت باز هم نمی شه از هیپر لینکها استفاده کرد؟
پس سایتهای خبری که اخبارشون رو اینطور نمایش می دن از چه تکنیکی استفاده می کنن؟:افسرده:

ClaimAlireza
دوشنبه 02 مهر 1386, 10:07 صبح
ببین این کد html به کارت میاد.(تو صفحه aspx کپی کن)



<asp:GridViewID="GridView1"runat="server"AutoGenerateColumns="False"DataKeyNames="t_id"
DataSourceID="SqlDataSource1">
<Columns>
<asp:BoundFieldDataField="t_id"HeaderText="t_id"InsertVisible="False"ReadOnly="True"
SortExpression="t_id"/>
<asp:BoundFieldDataField="tname"HeaderText="tname"SortExpression="tname"/>
<asp:BoundFieldDataField="tfname"HeaderText="tfname"SortExpression="tfname"/>
<asp:CommandFieldSelectText="detail"ShowSelectButton="True"/>
</Columns>
</asp:GridView>
<asp:SqlDataSourceID="SqlDataSource1"runat="server"ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT * FROM [tb_test]"></asp:SqlDataSource>
<br/>
<br/>
<br/>
<asp:DetailsViewID="DetailsView1"runat="server"AutoGenerateRows="False"DataKeyNames="t_id"
DataSourceID="SqlDataSource2"Height="50px"Width="125px">
<Fields>
<asp:BoundFieldDataField="t_id"HeaderText="t_id"InsertVisible="False"ReadOnly="True"
SortExpression="t_id"/>
<asp:BoundFieldDataField="tname"HeaderText="tname"SortExpression="tname"/>
<asp:BoundFieldDataField="tfname"HeaderText="tfname"SortExpression="tfname"/>
</Fields>
</asp:DetailsView>
<asp:SqlDataSourceID="SqlDataSource2"runat="server"ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
DeleteCommand="DELETE FROM [tb_test] WHERE [t_id] = @t_id"InsertCommand="INSERT INTO [tb_test] ([tname], [tfname]) VALUES (@tname, @tfname)"
SelectCommand="SELECT * FROM [tb_test] WHERE ([t_id] = @t_id)"UpdateCommand="UPDATE [tb_test] SET [tname] = @tname, [tfname] = @tfname WHERE [t_id] = @t_id">
<DeleteParameters>
<asp:ParameterName="t_id"Type="Int64"/>
</DeleteParameters>
<UpdateParameters>
<asp:ParameterName="tname"Type="String"/>
<asp:ParameterName="tfname"Type="String"/>
<asp:ParameterName="t_id"Type="Int64"/>
</UpdateParameters>
<SelectParameters>
<asp:ControlParameterControlID="GridView1"Name="t_id"PropertyName="SelectedValue"
Type="Int64"/>
</SelectParameters>
<InsertParameters>
<asp:ParameterName="tname"Type="String"/>
<asp:ParameterName="tfname"Type="String"/>
</InsertParameters>
</asp:SqlDataSource>