none
Исключение повторного submitа RRS feed

  • Вопрос

  • Здравствуйте.

    Вот по этой инструкции пытаюсь сотворить. Пока ничего не выходит.

    Для начала создал каталог App_Code. В нем создал класс GuidClass.cs Вот содержимое этого класса:

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.UI.WebControls;
    
    namespace WebApplication1.App_Code
    {
        public class GuidClass : IHttpModule
        {
            private string guid;
    
            public string Guid
            {
                get
                {
                    return guid;
                }
    
                set
                {
                    guid = value;
                }
            }
    
            void _page_Init(object sender, EventArgs e)
            {
                HiddenField hdnGuid = new HiddenField();
                hdnGuid.ID = "hdnGuid";
                if (!_page.IsPostBack)
                    hdnGuid.Value = Guid.NewGuid().ToString();
                _page.Form.Controls.Add(hdnGuid);
            }
    
    
            void _page_Load(object sender, EventArgs e)
            {
                HiddenField h1 = (HiddenField)(_page.Form.FindControl("hdnGuid"));
                GuidClass currentGuid = new GuidClass();
                currentGuid.Guid = h1.Value;
                System.Web.HttpContext _httpContext = System.Web.HttpContext.Current;
    
                if (temp.Contains<string>(currentGuid.Guid))
                {
                    _httpContext.Items.Add("IsRefresh", true);
                }
                else
                {
                    if (!(currentGuid.Guid.Equals(null) || currentGuid.Guid.Equals("")))
                        temp.Enqueue(currentGuid.Guid);
                    _httpContext.Items.Add("IsRefresh", false);
                }
    
            }
        }
    }

    В webconfig прописал:

     <httpModules>
            <add name="GuidClass" type="GuidClass"/>
     </httpModules>

    JavaScript код тоже есть. При отладке получаю такую ошибку: 'WebApplication1.App_Code.GuidClass' не реализует член интерфейса 'System.Web.IHttpModule.Init(System.Web.HttpApplication)'. Попытался убрать наследование от IHttpModule, получил уже другую ошибку: 'if (!_page.IsPostBack)' Имя '_page' отсутствует в текущем контексте. Я совсем не в курсе куда копать. Подскажите в чем тут дело?

    26 декабря 2012 г. 11:46

Ответы

Все ответы