2013-03-28 31 views
0

我正在嘗試在ASP.NET(C#)中集成JavaScript相冊。 我使用硬編碼圖像的代碼;我想動態獲取這些圖像。動態提取照片?

<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替換這些硬編碼的照片。我怎樣才能做到這一點?

回答

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=" " /> 

那麼你就可以在服務器端,即

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

2分配的ImageUrl。您可以簡單地將runat="server"屬性放置在現有的img標籤上,並在服務器端訪問它們並設置它們的URL。即地方RUNAT =您的IMG 「服務器」 像下面

<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調用它,並且更新的img標籤中的JavaScript函數

+0

你能否解釋第二種方式 – Arbaaz 2013-03-28 09:05:21

+0

是啊,一看便知 – 2013-03-28 09:10:49

+0

我嘗試了第2種方法,但它沒有工作,我現在想的第一個方法,但似乎效果的jQuery效果不工作了?這是相冊我正在嘗試整合.. http://youhack.me/demo/g%20plus%20photo/ – Arbaaz 2013-03-28 11:22:03

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 

}