Ошибка компиляции события ASP.NET OnClick - PullRequest
1 голос
/ 18 ноября 2010

Я модифицирую программное обеспечение для интернет-покупок nopCommerce, и у меня странная ошибка компиляции ..

в файле: CheckoutShipping.aspx У меня есть:

<div class="button">
            <asp:Button runat="server" ID="btnNextStep" Text="<% $NopResources:Checkout.NextButton %>"
                CssClass="newaddressnextstepbutton" ValidationGroup="EnterAddress"  OnClick="btnA"/>
</div>

и в CheckoutShipping.aspx.cs:

protected void btnA(object sender, EventArgs e)
{

    if (Page.IsValid)
    {

        ctrlCheckoutBillingAddress.SelectCurrentAddress();
        ctrlCheckoutShippingAddress.SelectCurrentAddress();

        if (!this.OnePageCheckout)
            Response.Redirect("~/checkoutshippingmethod.aspx");
    }
}

Я получаю:

Сообщение об ошибке компилятора: CS1061: 'ASP.checkoutshippingaddress_aspx' не содержит определения для 'btnA' и без метода расширения 'btnA' принимая первый аргумент типа 'ASP.checkoutshippingaddress_aspx' может быть найден (вы пропускаете используя директиву или сборку ссылка?)

Ошибка источника:

Строка 28: Строка 29: Строка 30:
" Строка 31:
CssClass = "newaddressnextstepbutton" ValidationGroup = "EnterAddress" OnClick = "btnA" /> Строка 32:

Я дважды проверил, совпадают ли имена классов и файлы кодов в файлах aspx и aspx.cs (и они совпадают).

Помогает удаление части OnClick объявления кнопки в файле aspx (или ее изменение на ie. OnClick = "Page_Load").

В чем может быть причина этого? Нужно ли где-то регистрировать свои функции?

Ответы [ 2 ]

0 голосов
/ 08 апреля 2013

У меня была такая же ошибка ...

Значение Наследник = "" соответствовало имени файла, пыталось изменить свойства кнопки с OnClick на OnClientClick .. и наоборот, ничего не получалось ..

Простое решение, которое сработало для меня, это изменить CodeBehind на CodeFile ...

0 голосов
/ 18 ноября 2010

Удалите имя события, используя окно свойств, и снова добавьте, что поможет несколько раз или просто удалите его и добавьте с другим именем Я надеюсь, что это будет работать

Так как это все еще произошло

попробуй сделать это программно, я имею в виду удалить событие из htmls и добавьте его на страницу загрузки

    protected void Page_Load(object sender, EventArgs e)
    {
        ...
         btnA.Click += new EventHandler(btnA_Click);
        ...
    }

    void btnA_Click(object sender, EventArgs e)
    {
        //you stuff here//


    }

Надеюсь, что это работает:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...