我正在尝试获取我页面中的许多文件的信息,但我的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
(空),谢谢。
答案 0 :(得分:0)
JavaScript区分大小写,因此您要分配错误的变量。
替换
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;
}
与
if(hdFotosPropiedad.value == "")
{
txtFotosPropiedad.value = fileUpload.value;
hdFotosPropiedad.value = fileUpload.value; // Note value NOT Value
}
else
{
txtFotosPropiedad.value = txtFotosPropiedad.value + ";" + fileUpload.value;
hdFotosPropiedad.value = hdFotosPropiedad.value + ";" + fileUpload.value;
}
所以你要分配.value而不是.Value。我还删除了.Text分配,即因为它们没有在您发布的代码中用作目的。