0

私は.netで自分自身で新しいことを試しています。画像のURLをデータベースに保存し、グリッドビューで動的に取得したい.グリッドビューでテンプレートフィールドを使用し、何らかの方法でバインド機能を使用できることがわかりました。また、すべての画像をプロジェクトフォルダーに保存し、フォルダーから画像を取得できます。ボタンをクリックすると、グリッドビューに画像を表示したいのですが、まだできませんこれまでのところ私のコードです....

<div>
        <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="Model_Id" DataSourceID="SqlDataSource1">
            <Columns>
                <asp:BoundField DataField="Model_Id" HeaderText="Model_Id" 
                    InsertVisible="False" ReadOnly="True" SortExpression="Model_Id" />
                <asp:BoundField DataField="Model_Name" HeaderText="Model_Name" 
                    SortExpression="Model_Name" />
                <asp:BoundField DataField="Max_seats" HeaderText="Max_seats" 
                    SortExpression="Max_seats" />
                <asp:BoundField DataField="Image" HeaderText="Image" SortExpression="Image" />
            </Columns>
        </asp:GridView>
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="SELECT * FROM [Model]"></asp:SqlDataSource>
    </div>
4

2 に答える 2

0

プロジェクトのソリューション エクスプローラーのフォルダーに画像を保存します。データベースへのリンクを保存する場合は、列のデータ型を varchar(MAX) に設定し、以下のように画像のリンクをデータベース テーブルに保存します。

1.フォルダー名がImageの場合、URLを../Image/picture.jpgとして保存します

2.グリッドビューのクイックタスクメニューに移動し、編集フィールドをクリックし、利用可能なフィールドリストから「ImageField」を選択して追加をクリックすると、画像フィールドが選択されたフィールドに追加されます

3.SELECTED FIELDSの「ImageField」を上下に移動して、他の列の間に配置します

4.「ImageField」をクリックすると、ImageField プロパティが右側に表示されます。GOTO DATA で、「DataImageUrlField」で、画像を取得するデータベース テーブルの列名を選択します。

それはうまくいくはずです.ImageFieldは、画像を表示するためのHTMLコードを自動的に生成します.

于 2013-03-30T18:03:27.897 に答える
0

GridViewテンプレートフィールドを追加します。

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" 
            DataKeyNames="Model_Id" DataSourceID="SqlDataSource1">
    <Columns>
            <asp:TemplateField HeaderText="Photo">
                <ItemTemplate>
                    <img src='<%# Eval("Image") %>' />
                </ItemTemplate>
            </asp:TemplateField>  
            //other bound columns
   </Columns>            
</asp:GridView>

は、画像の URL を含むImagetable 内の列です。[Model]画像が表示されない場合は、相対 URL 構造を確認してください。次のようにプレフィックス/調整が必要になる場合があります。

/images/image1.jpg../images/image1.jpg (画像を含むフォルダーの相対的な場所によって異なります)

それはあなたのために働くはずです。

于 2013-03-28T18:36:56.197 に答える