내 웹 사이트에서 파일 업로드를 위해 asp FileUpload 컨트롤을 사용하고 업로드 버튼을 클릭하면 업로드 된 이미지가 텍스트 영역과 함께 표시 될 패널이 표시됩니다 이미지의 설명을 쓰십시오. 설명을 작성한 후 동적으로 생성 된 저장 버튼을 클릭하면 설명과 함께 데이터베이스에 이미지를 저장해야합니다. 이 작업을 수행하는 방법에 대한 아이디어를 제공해주십시오.동적으로로드 된 컨트롤을 통해 데이터베이스에 데이터를 저장하는 방법
<form id="form1" runat="server">
<div class="transbox" id="mainbk" runat="server" style="position:absolute; top:0px; left:0px; width: 100%; height: 100%;" >
<asp:FileUpload runat="server" ID="UploadImages" style="background-color:white; position:absolute; font-family:'Palatino Linotype'; font-size:medium; top: 4px; left: 350px; right: 251px;" Width="500px" AllowMultiple="true"/>
<asp:Button runat="server" ID="uploadedFile" style="position:absolute; font-family:'Palatino Linotype'; font-size:medium; top: 4px; left: 870px; width: 112px; height: 29px;" Text="Upload" OnClick="uploadFile_Click" />
<asp:Panel ID="updtpanel" runat="server" CssClass="transbox" style="width:100%;height:100%;left:0px;top:0px;position:absolute" Visible="false">
</asp:Panel>
</div>
</form>
를 다음과 같이 내 백엔드 코드는 다음과 같습니다 :
protected void uploadFile_Click(object sender, EventArgs e)
{
if (UploadImages.HasFiles)
{
int tid = 0;
string fileExt = Path.GetExtension(UploadImages.FileName).ToLower();
if (fileExt == ".jpeg" || fileExt == ".png" || fileExt == ".jpg" || fileExt == ".bmp")
{
HtmlGenericControl d = new HtmlGenericControl("div");
Button btnsave = new Button();
btnsave.Text = "Save";
sb.Append("<div class=" + "\"savback\"" + ">");
sb.Append("<div class=" + "\"head\"" + ">Write Description</div>");
foreach (HttpPostedFile uploadedFile in UploadImages.PostedFiles)
{
id += 1;
tid = tid + 1;
string textid = "txt" + tid;
filepath = Server.MapPath("~/Images/Gallery/" + uploadedFile.FileName);
uploadedFile.SaveAs(filepath);
newpath = "../Images/Gallery/" + uploadedFile.FileName;
try
{
updtpanel.Visible = true;
sb.Append("<div class=" + "\"dataload\"" + ">");
sb.Append("<img class=" + "\"loadimg\"" + "src=" + "\"" + newpath.ToString() + "\"" + " />");
sb.Append("<textarea class=" + "\"txtdes\"" + "id=" + "\"" + textid + "\"" + "></textarea>");
sb.Append("</div>");
}
catch (Exception ex)
{
Response.Write(ex.Message);
}
}
sb.Append("</div>");
d.InnerHtml = sb.ToString();
updtpanel.Controls.Add(d);
updtpanel.Controls.Add(btnsave);
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('Please Select only Image Files!!');", true);
}
}
else
{
Page.ClientScript.RegisterStartupScript(GetType(), "msgbox", "alert('Please Select a File First!!');", true);
}
}
을이 업로드 전에 모습입니다 :
을 업로드 한 후이 같이 보입니다 다음과 같이 내 프론트 엔드 코드는 이
아래 입력란에 설명을 입력 한 후 데이터베이스에 저장하려면 어떻게합니까? 그는 사진을 올렸다.
페이스 북이 앨범 이미지를 올바르게 업로드하는 방법을 모두 알고 있습니다. 마찬가지로 이미지를 업로드 한 다음 데이터베이스에 저장하고 싶습니다. 페이스 북에서 설명 텍스트 박스는 내가 잘못하지 않았다면 동적으로 생성 될 것입니다. 각 설명 텍스트 상자의 내용을 참조하여 DB에 저장하는 방법. 희망 나는 그것을 분명히하고있다.
저장 버튼을 동적으로 생성하는 특별한 이유가 있습니까? 공개 설정 작업을 전환하지 않으시겠습니까? – Karthik
http://forums.asp.net/p/1895457/5353700.aspx/1?Re+dynamically+created+link+button+s+click+event+not+firing – Karthik
@Karthik .. U 만들었습니다. 디자인 중에는 패널 만 있고 그 안의 다른 것들은 런타임 중에 추가됩니다. 특별한 이유가 없지만 내가 따라야 할 디자인으로 인해 그렇게해야합니다. 흠, 내가 디자인을 바꿀 수 있는지 여부, 그것에 대해 생각할 것입니다. :) –