Проверить наличие пустых данных в c# - PullRequest
1 голос
/ 06 мая 2020

Я использую c#, и у меня есть Hidden Field

<asp:HiddenField runat="server" ID="hidJsonHolder" ClientIDMode="Static" />

Как добавить предупреждение, чтобы я мог проверить наличие пустых данных object obj получить от Hidden Field?

Я пробовал с RegularExpressionValidator, но ответил ошибка

    <asp:HiddenField runat="server" ID="hidJsonHolder" ClientIDMode="Static" />

    <asp:RegularExpressionValidator Display="Dynamic"
        ControlToValidate="hidJsonHolder"
        ID="RegularExpressionValidator1"
        runat="server" ErrorMessage="error"
        ValidationGroup="Validation2"></asp:RegularExpressionValidator>

Этот другой код не предупреждает

protected void btnFinal_Click(object sender, EventArgs e)
{
    JavaScriptSerializer jsSer = new JavaScriptSerializer();
    object obj = jsSer.DeserializeObject(hidJsonHolder.Value);

    if (obj != null)
    {
        Movie[] listMovie = jsSer.ConvertToType<Movie[]>(obj);

        foreach (Movie p in listMovie)
        {
            string pattern = @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
            Regex re = new Regex(pattern);
            if (p.ToString() != null)
            {
                MatchCollection matches = re.Matches(p.ToString());
                if (matches.Count > 0)
                {
                    for (int i = 0; i < matches.Count; i++)
                    {
                        Response.Write(matches[i] + "; ");
                    }
                }
            }
        }
    }
    else
    {
        Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg", "alert('Error.');", true);
    }
}

Редактировать # 1

enter image description here

1 Ответ

1 голос
/ 07 мая 2020

Вот так:

 protected void btnFinal_Click(object sender, EventArgs e)
    {
        string val = hidJsonHolder.Value.Replace("[]","");

        if (!String.IsNullOrEmpty(val.ToString()))
        {
            JavaScriptSerializer jsSer = new JavaScriptSerializer();
            object obj = jsSer.DeserializeObject(hidJsonHolder.Value);

            if (obj != null)
            {
                Movie[] listMovie = jsSer.ConvertToType<Movie[]>(obj);
                foreach (Movie p in listMovie)
                {
                    string pattern = @"\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*";
                    Regex re = new Regex(pattern);
                    if (p.ToString() != null)
                    {
                        MatchCollection matches = re.Matches(p.ToString());
                        if (matches.Count > 0)
                        {
                            for (int i = 0; i < matches.Count; i++)
                            {
                                Response.Write("<br />" + matches[i] + "; ");
                            }
                        }
                    }
                }
            }
        }
        else
        {
            Page.ClientScript.RegisterStartupScript(this.GetType(), "Msg", "alert('Error.');", true);
        }
    }
...