Буквальный контроль не обновляется - PullRequest
0 голосов
/ 30 мая 2011

Я использую плагин uploadify, чтобы показать пользователям процесс загрузки файла.Скрипт uploadify вызывает default.aspx (асинхронно).В методе Page_Load файла default.aspx я запускаю проверки правильности других данных формы, которые были переданы через него.

Если проверка не пройдена, мне нравится отображать сообщение об ошибке с помощью буквального элемента управления, а затем завершать работу.Проблема заключается в том, что буквенный элемент управления не обновляется сообщениями об ошибках проверки.

Обновлено

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>

Ответы [ 2 ]

1 голос
/ 31 мая 2011

Измените элемент управления litValidationErrors с Literal на span с runat = "server", удалите 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());
                }
            }
        });
    });
0 голосов
/ 31 мая 2011

Добавить функцию обратного вызова в ваш скрипт, которая будет обновлять текст буквального управления

...