0

JavaScript フォト アルバムを ASP.NET (C#) に統合しようとしています。私が持っているコードは、ハードコードされた画像を使用しています。これらの画像を動的に取得したい。

 <div class="image_stack" style="margin-left:300px">
   <img id="photo1" class="stackphotos" src="photos/4.jpg"  >
   <img  id="photo2" class="stackphotos" src="photos/5.jpg" >
   <img  id="photo3" class="stackphotos"  src="photos/6.jpg" > 
 </div>

これらのハードコードされた写真を、データベースから取得した 3 つの URL に置き換えたいと考えています。どうすればこれを達成できますか?

4

2 に答える 2

1

1 つの簡単な方法:

ASP を使用:イメージ コントロール

 <asp:Image ID="photo1" class="stackphotos" runat="server" ImageUrl=" " />  
 <asp:Image ID="photo2" class="stackphotos" runat="server" ImageUrl=" " />  
 <asp:Image ID="photo3" class="stackphotos" runat="server" ImageUrl=" " />  

次に、サーバー側で ImageUrl を割り当てることができます。

var obj= GetUserImages(); //method fetching image urls from db.
photo1.ImageUrl = obj.ImageUrl1;
photo2.ImageUrl = obj.ImageUrl2;
photo3.ImageUrl = obj.ImageUrl3;

2. runat="server"既存の img タグに属性を配置し、サーバー側でアクセスして URL を設定するだけです。つまり、以下のように img に runat="server" を配置します

<img id="photo1" runat="server" class="stackphotos" src="photos/4.jpg"  >

そして、サーバー側でこれにアクセスします

photo1.Src = dbObject.Url;

3. サーバー側から imgs を動的にループに挿入できます。

string imgs = string.Empty;
foreach(var item in GetAllUserImages())
{
     images +="<img src='"+ item.ImageUrl +"' class='stackphotos' />";
}
div1.InnerHtml= images;

divはどこですか

<div id="div1" runat="server">
</div>

4. webmethod(属性でマークされた.aspx.csページのメソッドを呼び出し、[WebMethod]ajaxを介して呼び出し、javascript関数でimgタグを更新できます。

于 2013-03-28T08:56:21.170 に答える
0

ページ:

<%@ Page Language="C#" %>
other page content
<asp:PlaceHolder runat="server" ID="myimages" />
other page content

コードビハインド:

protected void Page_Load(object sender, EventArgs e)
{
using(var db = new myDataContext()) // see linq to sql / entity framework
   foreach(var i in db.ImagesTable.Select(img => new { Id = img.Id }))  // ImagesTable is the name of your table with info about your images
      myimages.Controls.Add(new LiteralControl(@"<img src=""myimgdir/" + i.Id + "".jpg" class=""stackphotos"" />")); // presuming that images are named according to an id in the database

}
于 2013-03-28T09:13:07.280 に答える