ファイルを受け取り、1つのWebページ上のサーバー上の場所に保存することができる単純な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 Server上でストアドプロシージャを使用してアクセスするように設定された更新コマンドがあります。ファイルのアップロード情報をVBにプルして、ファイルをアップロードしたかどうかによって異なるイベントをトリガできるようにしました。 – Jolley71717
'' telerik:AjaxUpdatedControl''が使われているようです – Jolley71717