2012-11-05 3 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

아래와 같이 리피터 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

관련 문제