用户控件c#中隐藏字段的问题
本文关键字:字段 问题 隐藏 控件 用户 | 更新日期: 2023-09-27 18:00:56
我试图获取页面中许多文件的信息,但我的fileUploader、textbox和hiddenField都在用户控件中,当我使用javascript将值保存到隐藏字段中时,我可以看到它在运行,但当我试图在后面的代码中获取这些值时,我会丢失所有值,我需要帮助,但我在这三天里一直在工作,我自己找不到解决方案。
我的代码是:
在用户控制中:
<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
(空(,谢谢。
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赋值,而不是。价值我还删除了。文本作业,也就是说,因为它们在你发布的代码中没有达到目的。