如何解决文字控制未更新
| 我正在使用一个名为uploadify的插件向用户显示文件上传进度。 uploadify脚本(异步)调用default.aspx。在default.aspx的Page_Load方法中,我对通过它的其他表单数据运行验证检查。 如果验证检查失败,我希望使用文字控件显示错误消息,然后退出。问题是文字控件未使用验证错误消息进行更新。 更新public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender,EventArgs e)
{
HttpContext context = HttpContext.Current;
if (context.Request.Files[\"Filedata\"] != null)
{
if (context.Request[\"Name\"] == null)
{
litValidationErrors.InnerHtml = \"Please enter a name\";
return;
}
}
}
}
<script type=\"text/javascript\">
$(document).ready(function ()
{
$(\'#file_upload\').uploadify({
\'uploader\': \'/Plugins/Uploadify/uploadify.swf\',\'script\': \'/default.aspx\',\'cancelImg\': \'/Plugins/Uploadify/images/cancel.png\',\'folder\': \'/FileUploads\',\'auto\': false,\'onComplete\': function (event,ID,fileObj,response,data)
{
var uploadifyResponse = $(\"#<%= litValidationErrors.ClientID %>\",$(response));
if (uploadifyResponse.length > 0)
{
$(\"#<%= litValidationErrors.ClientID %>\").css(\"display\",\"inline\").text(uploadifyResponse.text());
}
}
});
$(\'#MainContent_superSubmit\').click(function ()
{
var jsonFormData = {
\'Name\': $(\'#MainContent_txtName\').val(),\'Password\': $(\'#MainContent_txtPassword\').val()
};
$(\'#file_upload\').uploadifySettings(\'scriptData\',jsonFormData);
$(\'#file_upload\').uploadifyUpload();
});
});
</script>
<html>
.....
<asp:Button ID=\"superSubmit\" runat=\"server\" Text=\"Button\" />
<span id=\"litValidationErrors\" runat=\"server\" style=\"display: none; color: #ff0000;\"></span>
</html>
解决方法
使用runat = \“ server \”将litValidationErrors控件从Literal更改为span,删除Visible = \“ false \”并通过设置style = \“ display:none; \”隐藏它。另外,将onComplete事件处理程序添加到uploadify中:
$(function () {
$(\'#file_upload\').uploadify({
\'uploader\': \'/Plugins/Uploadify/uploadify.swf\',\'script\': \'/WebForm1.aspx\',\'expressInstall\': \'/Plugins/UploadifyexpressInstall.swf\',\'cancelImg\': \'/Plugins/Uploadify/images/cancel.png\',\'folder\': \'/App_Data/FileUploads\',\'auto\': false,\'onComplete\': function (event,ID,fileObj,response,data) {
var uploadifyResponse = $(\"#<%= litValidationErrors.ClientID %>\",$(response));
if (uploadifyResponse.length > 0) {
$(\"#<%= litValidationErrors.ClientID %>\").css(\"display\",\"inline\").text(uploadifyResponse.text());
}
}
});
});
, 将回调函数添加到脚本中,这将更新文字控件的文本
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。