Кнопка по умолчанию в asp.net (Ведущее устройство Page)?

в моем веб-приложении у меня есть основная страница, и я хочу реализовать defaultbutton для страницы входа в систему, когда пользователь нажимает Enter (мое приложение имеет страницу Master), как я могу поместить кнопку по умолчанию.

5
задан Surya sasidhar 6 February 2010 в 11:31
поделиться

3 ответа

Ничего общего с главными страницами - посмотрите здесь, как веб-браузеры интерпретируют формы.

http://geekswithblogs.net/ranganh/archive/2006/04/12/74951.aspx

Лично я бы заключил форму в отдельный элемент управления Panel и установил для свойства defaultbutton значение кнопки отправки.

ПРИМЕЧАНИЕ. Это будет работать только в ASP.NET 2.0 и выше.

1
ответ дан 18 December 2019 в 06:50
поделиться

Необходимо записать собственный буфер потока:
После очистки буфера потока выводятся префиксные символы и содержимое потока.

Следующее работает, потому что std:: endl вызывает следующее.

1) Добавьте\n в поток.
2) Вызывает flush () в потоке
2a) Вызов функции pubsync () в буфере потока.
2b) Вызов виртуального метода sync ()
2в) Переопределите этот виртуальный метод для выполнения требуемой работы.

#include <iostream>
#include <sstream>

class MyStream: public std::ostream
{
    // Write a stream buffer that prefixes each line with Plop
    class MyStreamBuf: public std::stringbuf
    {
        std::ostream&   output;
        public:
            MyStreamBuf(std::ostream& str)
                :output(str)
            {}
            ~MyStreamBuf() {
                if (pbase() != pptr()) {
                    putOutput();
                }
            }

        // When we sync the stream with the output. 
        // 1) Output Plop then the buffer
        // 2) Reset the buffer
        // 3) flush the actual output stream we are using.
        virtual int sync() {
            putOutput();
            return 0;
        }
        void putOutput() {
            // Called by destructor.
            // destructor can not call virtual methods.
            output << "[blah]" << str();
            str("");
            output.flush();
        }
    };

    // My Stream just uses a version of my special buffer
    MyStreamBuf buffer;
    public:
        MyStream(std::ostream& str)
            :std::ostream(&buffer)
            ,buffer(str)
        {
        }
};


int main()
{
    MyStream myStream(std::cout);
    myStream << 1 << 2 << 3 << std::endl << 5 << 6 << std::endl << 7 << 8 << std::endl;
}

> ./a.out
[blah]123 
[blah]56 
[blah]78
>
-121--1332777-

Нет ничего общего с главными страницами - здесь вы можете узнать, как веб-браузеры интерпретируют формы.

http://geekswithblogs.net/ranganh/archive/2006/04/12/74951.aspx

Лично я приложил бы форму в ее собственном Групповом контроле и установил бы defaultbutton собственность в ту из кнопки отправки.

ПРИМЕЧАНИЕ: Это будет работать только в ASP.NET 2.0 и выше.

-121--4565719-

IMHO, имеется элемент управления BuiltIn, предназначенный для входа в систему, называемый LoginView . Он интегрируется в главную страницу или любую другую страницу и может обеспечить полное использование системы аутентификации. Вот код для него

<asp:LoginView ID="LoginView1" runat="server">
</asp:LoginView>

Asp.Net предоставляет полную структуру для аутентификации и авторизации приложения. Я бы рекомендовал посмотреть, если вы собираетесь внедрить один для вашего приложения, и вы еще не рассмотрели его как вариант.

EDIT: Если вы хотите разместить кнопку над главной страницей, перетащите кнопку так же, как для обычной веб-формы и выполните следующее событие:

protected void Button1_Click(object sender, EventArgs e)
    {
      Response.Redirect("MyApplication/SomePage.aspx");
    }

Надеюсь, что это поможет

1
ответ дан 18 December 2019 в 06:50
поделиться
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID

или просто

Page.Form.DefaultButton = LoginButton.UniqueID

Это сработает.

17
ответ дан 18 December 2019 в 06:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: