в моем веб-приложении у меня есть основная страница, и я хочу реализовать defaultbutton для страницы входа в систему, когда пользователь нажимает Enter (мое приложение имеет страницу Master), как я могу поместить кнопку по умолчанию.
Ничего общего с главными страницами - посмотрите здесь, как веб-браузеры интерпретируют формы.
http://geekswithblogs.net/ranganh/archive/2006/04/12/74951.aspx
Лично я бы заключил форму в отдельный элемент управления Panel и установил для свойства defaultbutton значение кнопки отправки.
ПРИМЕЧАНИЕ. Это будет работать только в ASP.NET 2.0 и выше.
Необходимо записать собственный буфер потока:
После очистки буфера потока выводятся префиксные символы и содержимое потока.
Следующее работает, потому что 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");
}
Надеюсь, что это поможет
Page.Form.DefaultButton = crtlLoginUserLogin.FindControl("LoginButton").UniqueID
или просто
Page.Form.DefaultButton = LoginButton.UniqueID
Это сработает.