我正在使用 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/