0
나는 이름, 설명, 이미지 열을 표시하는 GridView
컨트롤이 있습니다. 이미지를 클릭하면 텍스트 상자, 파일 업로드 컨트롤, 업로드 및 취소 버튼이 포함 된 패널에 할당되는 모달 팝업 익스텐더를 열어야합니다.Ajax 모달 팝업 익스텐더 내에서 fileupload 컨트롤 사용
button_click
업데이트 버튼을 누르면 문제가 발생합니다. FileUpload
컨트롤 내에서 파일을 찾을 수 없습니다. 텍스트 상자 안에 텍스트가 있으면 도움을받을 수 있습니다.
<asp:GridView ID="gdvMngTeam" runat="server"
CellPadding="4"
AutoGenerateColumns="False"
ForeColor="#333333"
GridLines="None"
Width="100%"
DataMember="ID"
OnRowCommand="gdvMngTeam_RowCommand">
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
<RowStyle BackColor="#EFF3FB" Font-Names="Verdana" Font-Size="Small" />
<Columns>
<asp:BoundField DataField="ID" HeaderText="ID" Visible="False" />
<asp:BoundField HeaderText="Name" DataField="Name" />
<asp:BoundField HeaderText="Comments" DataField="Comments" />
<asp:TemplateField HeaderText="Photo">
<ItemTemplate>
<asp:ImageButton ID="imgbtnPhoto" ImageUrl= '<%# Eval("Image") %>' runat="server" CommandArgument='<%# Eval("ID") %>' CommandName="Photo" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
<EmptyDataTemplate>
<asp:Label ID="Label3" runat="server" Font-Bold="True" Font-Names="Verdana" Font-Size="Small" ForeColor="Red" Text="No Records Found"></asp:Label>
</EmptyDataTemplate>
<SelectedRowStyle BackColor="#D1DDF1" ForeColor="#333333" Font-Bold="True" />
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" Font-Names="Verdana" Font-Size="Medium" />
<EditRowStyle BackColor="#2461BF" />
<AlternatingRowStyle BackColor="White" />
</asp:GridView>
<tr>
<td>
<asp:Panel ID="Panel1" runat="server">
<table cellpadding="2" cellspacing="2" border="0">
<tr>
<td>
<asp:Label ID="Label8" runat="server" Text="Upload Photo :" Font-Bold="True" Font-Names="Verdana" Font-Size="Small" ForeColor="White"></asp:Label>
</td>
<td>
<asp:FileUpload ID="fumdpop" runat="server" /><br />
<asp:TextBox ID="tx" runat="server"></asp:TextBox>
</td>
</tr>
<tr>
<td colspan="2" style="line-height: 6px;"> </td>
</tr>
<tr>
<td colspan="2" align="center">
<asp:Button ID="btnUpload" runat="server" Text="Upload" onclick="btnUpload_Click" />
<asp:Button ID="btnfuCancel" runat="server" Text="Cancel" />
<asp:Button ID="btnok" runat="server" Text="OK" />
</td>
</tr>
</table>
</asp:Panel>
</td>
</tr>
<tr>
<asp:Button ID="bt" runat="server" Text="bt" />
<cc1:ModalPopupExtender ID="mdpextPhoto" BackgroundCssClass="backgroundcolor" runat="server" TargetControlID="bt" PopupControlID="Panel1" OkControlID="btnUpload" CancelControlID="btnfuCancel" >
</cc1:ModalPopupExtender>
</tr>
코드 뒤에 :
ScriptManager curObj = ScriptManager.GetCurrent(Page);
(if curObj != null)
current.RegisterPostBackControl(btnUpload);
과의 :
protected void gdvMngTeam_RowCommand(object sender, GridViewCommandEventArgs e)
{
if (e.CommandName == "Photo")
{
ViewState["ID"] = Convert.ToInt16(e.CommandArgument);
//AjaxControlToolkit.ModalPopupExtender mpop = (AjaxControlToolkit.ModalPopupExtender)gdvMngTeam.SelectedRow.FindControl(
mdpextPhoto.Show();
}
}
protected void btnUpload_Click(object sender, EventArgs e)
{
string txt = tx.Text;
if(fumdpop.HasFile)
{
string filename = fumdpop.FileName;
fumdpop.SaveAs(Server.MapPath("Photos/" + filename));
objTeam.ID = id;
objTeam.Image = "photos/" + filename;
string resutl = TeamManager.ChangeImage(objTeam);
ds = TeamManager.GetTeamDetails();
gdvMngTeam.DataSource = ds.Tables[0];
gdvMngTeam.DataBind();
}
}