파일을 받아 들여 하나의 웹 페이지에있는 서버의 위치에 저장할 수있는 간단한 FileUpload 상자가 있습니다. 그러나 지금 작업하고있는 페이지는 RadPageView 내부의 양식보기를 RadMultiPageView 내부에 가지고 있습니다. . FileUpload 컨트롤에 파일이 있는지 확인하려고 할 때마다 파일에로드되는 동안 null 값이 매번 충족됩니다. 다음은 약간 수정 한 코드의 일부입니다. 문제의 일부는 온라인에서 찾은 모든 자습서에서 사용자가 버튼 클릭 이벤트에 대한 VB에서이 정보 중 일부를 입력한다는 것입니다. 여기서는 xyz Handles .Updating
섹션에 입력합니다.내 FileUpload에 파일이 표시되지 않는 이유는 무엇입니까?
필자가 실행 한 프롤렘은 FileUpload1.HasFile
에 도착하면 파일을 업로드했음을 보여줍니다. 사실 FileUpload 컨트롤에 제대로 연결되지 않은 것처럼 Null을 보여줍니다. 나는 FileUpload 컨트롤에 연결하는 여러 가지 방법으로 혼란스러워했지만 그들 중 누구도 실제로 일하지 않았습니다.
<telerik:RadMultiPage ID="RadMultiPage1" runat="server" SelectedIndex="0" CssClass="multiPage"
BorderColor="Black" BorderStyle="Solid">
<telerik:RadPageView ID="pvMemoDoc" runat="server">
<asp:FormView ID="fvMemoDoc" runat="server" DefaultMode="Edit" DataSourceID="dsMemos"
DataKeyNames="coreDocID">
<EditItemTemplate>
<table class="tblNoSpace">
[...Other Code...]
<%--Begin file upload section--%>
<tr>
<td class="fieldLabel">File to upload:<br />
</td>
<td>
<asp:FileUpload ID="FileUpload1" runat="server" Width="600" ToolTip="Browse for file" />
</td>
</tr>
<tr>
<td colspan="2" style="text-align: right">
<asp:Label ID="lblFU1" runat="server" Enabled="false" Visible="false"
Text="(only select new file if you wish to replace existing file)"></asp:Label>
</td>
</tr>
<tr>
<td>
<br />
<br />
<asp:Button ID="btnUpdateMemo" CommandName="Update" runat="server" Text="Update Memo"
CausesValidation="true" ValidationGroup="MemoInformation"
ToolTip="Save updates" />
</td>
</tr>
</table>
</EditItemTemplate>
</asp:FormView>
</telerik:RadPageView>
[...Other Code...]
</telerik:RadMultiPage>
VB 코드 :
Private Sub DsMemo_Updating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.SqlDataSourceCommandEventArgs) Handles dsMemos.Updating
Dim FileUpload1 As FileUpload = CType(fvMemoDoc.FindControl("FileUpload1"), FileUpload)
'Dim FileUpload1 As FileUpload = CType(fvMemoDoc.Controls(0).Controls(0).FindControl("FileUpload1"), FileUpload)
'Dim FileUpload1 As FileUpload = CType(fvMemoDoc.Controls(0).FindControl("FileUpload1"), FileUpload)
'Dim FileUpload1 As FileUpload = TryCast(updateButton.Parent.Parent.FindControl("FileUpload1"), FileUpload)
If FileUpload1.HasFile Then
[...Other Code Here..]
[...Never gets past FileUpload1.HasFile...]
End If
End Sub
UpdatePanel 또는 Ajax를 사용합니까? 어떻게 DsMemo_Updating 메서드를 트리거합니까? – Win
업데이트 버튼을 클릭하면 양식의 나머지 데이터가 SQL 데이터 소스에 바인딩 된 데이터가됩니다. 그것은 밖으로 도달하고 SQL 서버에서 저장 프로 시저를 사용하도록 설정된 업데이트 명령을 가지고 있습니다. 그 사람이 파일을 업로드했는지 여부에 따라 다른 이벤트를 트리거 할 수 있도록 파일 업로드 정보를 VB로 가져 오려고했습니다. – Jolley71717
'telerik : AjaxUpdatedControl'이 사용 된 것처럼 보입니다. – Jolley71717