为什么asp隐藏字段没有从客户端设置?

时间:2016-01-13 17:41:24

标签: javascript jquery asp.net c#-3.0

我使用javascript将asp:hiddenfield设置为'1'但未设置。

我这样设置:

<script type="text/javascript">
        function uploadComplete(sender, args) {
            var myHidden = document.getElementById('<%= HdnFieldEmployeePicture.ClientID %>');
            myHidden.value = '1';
        }
    </script>

来自:

<asp:AsyncFileUpload ID="FileUpload1" OnClientUploadComplete="uploadComplete" ClientIDMode="AutoID" UploaderStyle="Modern" runat="server"/>                                                       
<asp:HiddenField ClientIDMode="Static" ID="HdnFieldHasFileUploaded" runat="server" />

我在服务器端检查它:

if (HdnFieldHasFileUploaded.Value == "1")
            {

但未设为1.

AsyncControl和隐藏字段位于UpdatePanel内。

1 个答案:

答案 0 :(得分:1)

您的javascript代码无效,因为当您使用asp.net更新面板部分提交页面时,javascript方法绑定会被破坏。您需要添加以下代码行才能恢复工作。

<script type="text/javascript">
    function EndRequestHandler(sender, args) {

    // bind your methods here 

    }
     Sys.WebForms.PageRequestManager.getInstance().add_endRequest(EndRequestHandler);
</script>