私は新しい ASP.NET 開発者で、便利なプレゼンテーションや PDF ドキュメントなどの多くのものを含む便利なライブラリと呼ばれるページを開発しようとしています。サーバーに(Useful Resources)というフォルダーがあり、そこにすべての有用なプレゼンテーションとドキュメントを入れています。データベースに次のテーブルがあります。
UsefulResources Table: ID, Category, Title, URL, Uploaded Date, Hits
このテーブルを設計する理由は、リソースを整理することです。これらのドキュメントを参照またはダウンロードできるようにしたいと考えています。***たとえば、(AP プレゼンテーション) という名前のプレゼンテーションがあります: ***ID = 5 および URL = AP Presentation.pptx******
私の ASP.NET コード:
<asp:HyperLinkField DataNavigateUrlFields="ID,URL"
DataNavigateUrlFormatString="Useful Resources/URL={0}"
DataTextField="Title" HeaderText="Title" />
この部分に問題があり、このプレゼンテーションを開いたりダウンロードしたりできるように修正する方法がわかりません。
参考までに、(Library.aspx) というページにはコード ビハインドはありません。
アップデート:
私が今持っているリンクは次のとおりです: pmvt/msa/pssp/Useful%20Resources/ID=5
ところで、これはイントラネット Web ベースのアプリケーションであるため、このリンクを使用してアクセスすることはできません。
そして、次のエラーが表示されます。
更新 #2: SqlDataSource を使用した ASP.NET コードは次のとおりです。
<asp:SqlDataSource ID="Sql_Reports" runat="server"
ConnectionString="<%$ ConnectionStrings:testConnectionString %>"
SelectCommand="SELECT [ID], [Title], [URL], [UploadedDate] FROM [UsefulResources] WHERE ([Category] = @Category) ORDER BY [UploadedDate] DESC">
<SelectParameters>
<asp:ControlParameter ControlID="Label1" Name="Category" PropertyName="Text"
Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="GridView2" runat="server" AutoGenerateColumns="False"
CellPadding="4" DataSourceID="Sql_Reports" ForeColor="#333333" GridLines="None"
Width="100%">
<FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#E3EAEB" />
<Columns>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title">
<ItemStyle HorizontalAlign="Center" Wrap="False" Width="100px" />
</asp:BoundField>
<asp:HyperLinkField DataNavigateUrlFields="URL"
DataNavigateUrlFormatString="Useful Resources?URL={0}"
DataTextField="Title" HeaderText="Title" />
<asp:BoundField DataField="UploadedDate" DataFormatString="{0:MMM yyy}" HeaderText="UploadedDate"
SortExpression="UploadedDate">
<ItemStyle HorizontalAlign="Center" Wrap="False" Width="100px" />
</asp:BoundField>
</Columns>
<PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
<SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
<HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
<EditRowStyle BackColor="#7C6F57" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
私はまだpmvt/msa/pssp/Useful%20Resources/?URL=Electrical%20safety.pptとしてリンクを取得しています。リンクを機能させるために、そのリンクから(?URL=)を削除するにはどうすればよいですか。
更新#2:
データベースにデータを含むテーブルを作成するためのスクリプトは次のとおりです。
/****** Object: Table [dbo].[UsefulResources] Script Date: 08/06/2012 07:08:15 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[UsefulResources](
[ID] [int] IDENTITY(1,1) NOT NULL,
[Category] [varchar](max) NULL,
[Title] [varchar](max) NULL,
[URL] [nvarchar](max) NULL,
[UploadedDate] [datetime] NULL,
[Hits] [int] NULL,
CONSTRAINT [PK_UsefulResources] PRIMARY KEY CLUSTERED
(
[ID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
SET ANSI_PADDING OFF
GO
SET IDENTITY_INSERT [dbo].[UsefulResources] ON
INSERT [dbo].[UsefulResources] ([ID], [Category], [Title], [URL], [UploadedDate], [Hits]) VALUES (1, N'PowerPoint Presentations', N'PMOD', N'Electrical safety.ppt', CAST(0x0000A0A000000000 AS DateTime), 1)
INSERT [dbo].[UsefulResources] ([ID], [Category], [Title], [URL], [UploadedDate], [Hits]) VALUES (2, N'Word Documents', N'Fire Drill Evaluation', N'Fire Drill Evaluation.docx', CAST(0x0000A0A300000000 AS DateTime), 1)
SET IDENTITY_INSERT [dbo].[UsefulResources] OFF