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

标签 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 内部。

最佳答案

您的 JavaScript 代码将无法工作,因为当您的页面使用 ASP.NET 更新面板部分提交时,JavaScript 方法绑定(bind)会被破坏。您需要添加以下代码行才能使其恢复工作。

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

    // bind your methods here 

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

关于javascript - 为什么 asp 隐藏字段没有从客户端设置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34773424/

相关文章:

jquery - 如何将表单数据发送到 API Controller

javascript - 如何正确阻止 Node.JS 服务器应用程序中的 IP 地址?

javascript - 拆分曾经是列表的字符串

jquery - 不对齐后带有文本的div

c# - 从旧 URL 重定向到最新已知 URL 的巧妙方法

javascript - 将字符串传递给 AJAX/Json

javascript - 卡住力定向网络图并在 D3 中可拖动

javascript - 仅当第一个字段有值时启用日期选择器

javascript - Vimeo Froogaloop API 无法识别事件

javascript - 如何通过ajax将数据数组发送到后端(php)