Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jQuery和ASP.NET控制代码隐藏中的可见性_Jquery_Asp.net - Fatal编程技术网

jQuery和ASP.NET控制代码隐藏中的可见性

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") =

在我的codebehind中,我将asp.net控件的display属性设置为none,如下所示:

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,投票赞成成为第一名,但不得不接受另一个,因为它包括示例,可能对其他有类似问题的人有帮助。