2012-11-05 33 views
2

今天看來我有很多問題。在中繼器中保存每個項目的文本框

我想要做的是保存每個圖像的文字。 我現在正在將每張圖片的正確文本放入文本框中。

的背後代碼:

var car = GarageBLL.LoadCar(Convert.ToInt32(CarId), 
Convert.ToInt32(_memberId)); ImageRepeater.DataSource = car.Images; 
ImageRepeater.DataBind(); 

protected void FinalizeNewCar(object sender, EventArgs e) { 
Response.Redirect("/amcargarasjen"); } 
**Code here for saving each edit into the right ImageId.** 

ASP:

<asp:Repeater runat="server" ID="ImageRepeater"> 
    <ItemTemplate> 
     <table> 
      <tr> 
       <td> 
        <a class="deleteLink" href="#" rel="<%#Eval("ImageId")%>" title=""> 
        <asp:Image runat="server" ImageUrl="/Content/Images/Garage/DeleteButton.png" /></a> 
        <asp:Image Width="60" Height="45" ID="ImgCar" ImageUrl='<%# String.Format("/garageimages/{0}/{1}.{2}", CarId, Eval("ImageId"), Eval("Extension")) %>' runat="server" /> 
        <asp:TextBox runat="server" Text='<%# Eval("Description") %>' ID="txtText"></asp:TextBox> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 
<br /> 
<asp:Button ID="Button1" runat="server" Text="Fullfør" OnClick="FinalizeNewCar" /> 

任何人有關於如何做到這一點任何想法?

回答

2

修改您的Repeater HTML標記,如下所示。請注意添加了一個隱藏字段以保留當前圖像ID的引用。

<asp:Repeater runat="server" ID="ImageRepeater"> 
    <ItemTemplate> 
     <table> 
      <tr> 
       <td> 
        <a class="deleteLink" href="#" rel="<%#Eval("ImageId")%>" title=""> 
        <asp:Image runat="server" ImageUrl="/Content/Images/Garage/DeleteButton.png" /></a> 
        <asp:Image Width="60" Height="45" ID="ImgCar" ImageUrl='<%# String.Format("/garageimages/{0}/{1}.{2}", CarId, Eval("ImageId"), Eval("Extension")) %>' runat="server" /> 
        <asp:TextBox runat="server" Text='<%# Eval("Description") %>' ID="txtText"></asp:TextBox> 
        <asp:HiddenField runat="server" Value='<%# Eval("ImageId") %>' ID="txtImageId"></asp:TextBox> 
       </td> 
      </tr> 
     </table> 
    </ItemTemplate> 
</asp:Repeater> 
<br /> 
<asp:Button ID="Button1" runat="server" Text="Fullfør" OnClick="FinalizeNewCar" /> 

CODE FinalizeNewCar事件處理程序

protected void FinalizeNewCar(object sender, EventArgs e) 
{ 
    foreach (RepeaterItem item in ImageRepeater.Items) 
    { 
     Int32 imageId = Convert.ToInt32(((HiddenField) item.FindControl("txtImageId")).Value); 
     string description = ((TextBox)item.FindControl("txtText")).Text; 
     //You will get the imageId description here. 
     //Write your code to update the datatbase. 
    } 
} 
+0

那真棒。謝謝 :) – sindrem

相關問題