ページ内の多くのファイルの情報を取得しようとしていますが、fileUploader、テキスト ボックス、hiddenField はユーザー コントロールにあります。javascript を使用して値を非表示フィールドに保存すると、それが実行されることがわかりますが、コード ビハインドでこれらの値を取得しようとすると、すべての値が失われます。助けが必要ですが、その 3 日間作業していて、自分で解決策を見つけることができません。
私のコードは次のとおりです。
ユーザーコントロールで:
<table class ="total">
<tr>
<td class="texto">
<asp:Label ID="lblFotos" runat="server" Font-Size="Small"
Text="Fotos : "></asp:Label>
</td>
<td class="campos">
<asp:FileUpload ID="fuFotoPropiedad" runat="server" />
<asp:Button ID="btnAgregarFoto" runat="server" Height="25px" Text="Agregar"
OnClientClick="agregarFoto(); return false;"/>
</td>
</tr>
<tr>
<td class="total" colspan="2" align="center">
<asp:TextBox ID="txtFotosPropiedad" runat="server" Height="81px" TextMode="MultiLine"
Width="299px" ReadOnly="True"></asp:TextBox>
<asp:HiddenField ID="hdFotosPropiedad" runat="server" />
</td>
</tr>
</table>
JavaScript では:
function agregarFoto() {
var fileUploadId = 'ctl00_ContentPlaceHolder1_wucMantenimientoPropiedad1_fuFotoPropiedad';
var txtFotosPropiedadId = 'ctl00_ContentPlaceHolder1_wucMantenimientoPropiedad1_txtFotosPropiedad';
var hdFotosPropiedadId = 'ctl00_ContentPlaceHolder1_wucMantenimientoPropiedad1_hdFotosPropiedad';
var fileUpload = document.getElementById(fileUploadId);
var txtFotosPropiedad = document.getElementById(txtFotosPropiedadId);
var hdFotosPropiedad = document.getElementById(hdFotosPropiedadId);
if (hdFotosPropiedad.value == "") {
txtFotosPropiedad.value = fileUpload.value;
txtFotosPropiedad.Text = fileUpload.value;
hdFotosPropiedad.Value = fileUpload.value;
hdFotosPropiedad.innetText = fileUpload.value;
} else {
txtFotosPropiedad.value = txtFotosPropiedad.value + ";" + fileUpload.value;
txtFotosPropiedad.Text = txtFotosPropiedad.value + ";" + fileUpload.value;
hdFotosPropiedad.Value = hdFotosPropiedad.Value + ";" + fileUpload.value;
hdFotosPropiedad.innetText = hdFotosPropiedad.Value + ";" + fileUpload.value;
}
var control = $("#ctl00_ContentPlaceHolder1_wucMantenimientoPropiedad1_fuFotoPropiedad");
control.replaceWith( control.val('').clone( true ) );
return false;
}
コードビハインド:
string[] fotos = hdFotosPropiedad.Value.Split(';');
しかし(空)hdFotosPropiedad.Value
ですnull
、ありがとう。