2009-08-14 3 views
0

Я попробовал это, но я получаю эту ошибку:Можно вызвать функцию, которая установлена ​​как функция onclick в ASP.NET?

Server Error in '/' Application. 
Compilation Error 
Description: An error occurred during the compilation of a resource required to service this request. Please review the following specific error details and modify your source code appropriately. 

Compiler Error Message: BC30201: Expression expected. 

Source Error: 

Line 26:   password.Text = parseQuery("pass") 
Line 27:  End If 
Line 28:  If password.Text <> "" And username.Text <> "" Then btnLogin_Click(Dim sender as Object, Dim e as System.EventArgs) 
Line 29: End If 
Line 30:  


Source File: C:\Inetpub\wwwroot\devv\login.aspx.vb Line: 28 
+1

необходимость увидеть исходный код ... –

+0

Это было слишком долго, так как я написал VB. Можете ли вы использовать переменные в вызове функции? Почему бы просто не использовать Ничего? – Joel

+0

@Joel: Нет, поэтому это даже не компилируется. –

ответ

3

Попробуйте изменить ваше заявление, чтобы читать

If password.Text <> "" And username.Text <> "" Then 
    btnLogin_Click(Nothing, Nothing) 
End If 

Ваш текущий код использует подпись, как если бы вы создавали события нажатия кнопки, вам просто нужно передать ему некоторые фиктивные аргументы в метод, если он написан.

Однако, если вы запускаете логин с помощью различных методов, я бы рекомендовал написать второй метод ProcessLogin или что-то в этом роде, и вы можете просто переадресовать событие с кнопкой мыши. Это упростит использование нескольких «векторов ввода» для вашей обработки входа.

+0

Вот что я думал, что это должно быть, но я не был достаточно уверен в знаниях VB. +1 для рекомендации отдельного метода ProcessLogin. – Joel

0

Вам нужно изменить линию 28 из

If password.Text <> "" And username.Text <> "" Then btnLogin_Click(Dim sender as Object, Dim e as System.EventArgs) 

в

If password.Text <> "" And username.Text <> "" Then btnLogin_Click(Nothing, EventArgs.Empty)