Пример #1
0
        protected void AssignSubmitButton(string button = null)
        {
            SubmitElement submit = null;

            if (button != null)
            {
                if (button.StartsWith("#"))
                {
                    string id = button.Substring(1);
                    submit = SubmitElements.Where(s => s.Id == id).FirstOrDefault();
                }
                else
                {
                    submit = SubmitElements.Where(s => s.Name == button).FirstOrDefault();
                }
            }
            else if (SubmitElements.Count > 0)
            {
                submit = SubmitElements[0];
            }

            if (submit != null)
            {
                Values[submit.Name] = submit.Value;
            }
        }
Пример #2
0
        protected void ParseInputs(HtmlNode formNode)
        {
            foreach (HtmlNode inputNode in formNode.SelectNodes(".//*") ?? Enumerable.Empty <HtmlNode>())
            {
                string id = inputNode.GetAttributeValue("id", null);
                if (inputNode.Name == "input")
                {
                    string type  = inputNode.GetAttributeValue("type", "text");
                    string value = inputNode.GetAttributeValue("value", null);
                    string name  = inputNode.GetAttributeValue("name", null);

                    if (name != null)
                    {
                        if (type == "submit")
                        {
                            // Register submit buttons
                            if (value != null)
                            {
                                SubmitElements.Add(new SubmitElement {
                                    Name = name, Value = value, Id = id
                                });
                            }
                        }
                        else if (type == "radio")
                        {
                            string isChecked = inputNode.GetAttributeValue("checked", null);
                            if (isChecked != null && value != null)
                            {
                                Values[name] = value;
                            }
                        }
                        else
                        {
                            // Set default values for input
                            if (value != null)
                            {
                                Values[name] = value;
                            }
                        }
                    }
                }
                else if (inputNode.Name == "textarea")
                {
                    string name  = inputNode.GetAttributeValue("name", null);
                    string value = inputNode.InnerText;
                    if (value != null && name != null)
                    {
                        Values[name] = value;
                    }
                }
                else if (inputNode.Name == "select")
                {
                    string name = inputNode.GetAttributeValue("name", null);
                    if (name != null)
                    {
                        foreach (HtmlNode optionNode in inputNode.SelectNodes(".//option") ?? Enumerable.Empty <HtmlNode>())
                        {
                            string value    = optionNode.GetAttributeValue("value", null);
                            string selected = optionNode.GetAttributeValue("selected", null);
                            if (selected != null && value != null)
                            {
                                Values[name] = value;
                            }
                        }
                    }
                }
            }
        }