проверка на стороне сервера в приложении asp.net не работает - PullRequest
0 голосов
/ 25 января 2012

Я ставлю проверку на стороне сервера, но, похоже, она работает не так, как должна. Ниже приведен пример кода

     //Validation

    private void validation()
    {
        if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return; }

        if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return; }
    }


       // Alert mesage
  public void Alert(string msg)
    {
        ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script
         type='text/javascript'>alert('" + msg + "');</script>");
    }

В моем событии следующего нажатия кнопки я вызываю эту функцию как

    protected void button_Click(object sender, EventArgs e)
    {
        validation();
    }

Удивительно, но даже если я ничего не ввожу в текстовое поле (означает, что текстовое поле пусто) ... оповещение не поступает. Принимая во внимание, что это должно насторожить.

Может кто-нибудь указать мне, что я делаю неправильно. Ценю вашу помощь.

EDIT:

Самое утомительное - тот же код отлично работает на других страницах. он хорошо предупреждает, если поля пусты или проверка не пройдена. Не уверен, что не так с этой страницей.

Например, указатель Fe ... Эта конкретная страница aspx ... имеет множество пользовательских элементов управления, и эти элементы управления ascx-страницы имеют Javascript. Я, что может быть любая проблема

Ответы [ 3 ]

0 голосов
/ 25 января 2012

Я рекомендую использовать элементы проверки Asp.net, такие как «Обязательное поле», «Сравнить средство проверки».в качестве основы сделает все для вас.тогда почему вы собираетесь проверить самостоятельно.?

в aspx

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ErrorMessage="InvalidName" ControlToValidate="TextBox1"></asp:RequiredFieldValidator>

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

<asp:ValidationSummary ID="ValidationSummary1" runat="server" ShowMessageBox="True" />
0 голосов
/ 02 февраля 2012

Даже с Scriptmanager это не сработало ... о, мое решение было ... Я просто немного изменил метод проверки, и он сработал великолепно ... как показано ниже

private bool validation() 
{ 
    if (txtFName.Text == string.Empty) { Alert("Invalid Name"); return false; } 

    if (txtLName.Text == string.Empty) { Alert("Invalid Name"); return false; } 
} 
0 голосов
/ 25 января 2012

Я только что попробовал следующий код.

protected void Button1_Click(object sender, EventArgs e)
{
    validation();
}

private void validation() 
{ 
    Alert("Invalid Name"); 
} 


   // Alert mesage 
public void Alert(string msg) 
{ 
    ClientScript.RegisterStartupScript(typeof(Page), "SymbolError", "<script type='text/javascript'>alert('" + msg + "');</script>"); 
} 

похоже, все работает нормально. проверьте это, посмотрите, есть ли какие-либо проблемы с настройками. (не уверен, что я просто делаю проб и ошибок).

http://bytes.com/topic/asp-net/answers/518330-clientscript-registerstartupscript

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