jQuery和ASP.NET控制代码隐藏中的可见性
在我的codebehind中,我将asp.net控件的display属性设置为none,如下所示:jQuery和ASP.NET控制代码隐藏中的可见性,jquery,asp.net,Jquery,Asp.net,在我的codebehind中,我将asp.net控件的display属性设置为none,如下所示: fuDoc.Attributes("style") = "display:none;" 'fuDoc is a FileUpload control. $('#fuDoc').show(); 在我的页面上,如果用户想要上传文档,他们单击一个链接,通过使用jQuery,我使用.show()将display属性设置为'block',如下所示 fuDoc.Attributes("style") =
fuDoc.Attributes("style") = "display:none;" 'fuDoc is a FileUpload control.
$('#fuDoc').show();
在我的页面上,如果用户想要上传文档,他们单击一个链接,通过使用jQuery,我使用.show()将display
属性设置为'block'
,如下所示
fuDoc.Attributes("style") = "display:none;" 'fuDoc is a FileUpload control.
$('#fuDoc').show();
我也试过了
$('#fuDoc').attr('style', 'display:block;');
现在,在表单提交时,我需要检查fuDoc
是否可见如果可见,请执行标准文件上传过程,例如检查.HasFile
等
但是,尽管fuDoc控件在HTML中设置为display:block
,没有问题,但以下asp.net代码始终生成True
If fuDoc.Attributes("style") = "display:none;" Then 'always results to true
这是什么原因?任何帮助都将不胜感激
注意:FileUpload控件不是动态创建的 问题在于,在回发过程中,客户端上的style
属性更改不会持久化
一种可能的修复方法是使用hiddenfield来存储fuDoc
控件的状态。问题是,在回发过程中,客户端上的style
属性更改不会持久化
一种可能的修复方法是使用hiddenfield来存储fuDoc
控件的状态。与其依赖于检测文件上传是否在页面上可见,还可以包括文本框或hiddenfield,例如:
<asp:TextBox id="txtIsFileUploadShown" runat="server" cssclass="txtisfileuploadshown" Text="0" style="display:none;" />
隐藏时:
$('#fuDoc').hide();
$(".txtisfileuploadshown").val('0');
然后,在您的“代码隐藏”的背面,只需检查:
If IsNumeric(txtisfileuploadshown.text) AndAlso Cint(txtisfileuploadshown.text)=1 Then
'Do HasFile validation here.
End
与其依赖于检测文件上传是否在页面上可见,还可以包括文本框或隐藏字段,例如:
<asp:TextBox id="txtIsFileUploadShown" runat="server" cssclass="txtisfileuploadshown" Text="0" style="display:none;" />
隐藏时:
$('#fuDoc').hide();
$(".txtisfileuploadshown").val('0');
然后,在您的“代码隐藏”的背面,只需检查:
If IsNumeric(txtisfileuploadshown.text) AndAlso Cint(txtisfileuploadshown.text)=1 Then
'Do HasFile validation here.
End
谢谢codrin,投票赞成成为第一名,但不得不接受另一个,因为它包括示例,可能对其他有类似问题的人有帮助。谢谢codrin,投票赞成成为第一名,但不得不接受另一个,因为它包括示例,可能对其他有类似问题的人有帮助。