Example #1
0
        /// <summary>
        /// 尝试提交表单
        /// </summary>
        /// <param name="data">提交的数据</param>
        /// <param name="validateInputs">指示是否应当验证表单提交的数据是否与表单吻合</param>
        /// <returns>被提交的表单</returns>
        public HtmlForm Submit(NameValueCollection data, bool validateInputs)
        {
            if (data == null)
            {
                throw new ArgumentNullException("data");
            }


            if (SubmittedValues != null)
            {
                throw new InvalidOperationException("表单已经被提交过一次了");
            }

            var inputControlNames = InputControls.Select(input => input.Name).ToArray();

            if (validateInputs && data.AllKeys.Any(key => !inputControlNames.Contains(key)))
            {
                throw new InvalidOperationException();//如果表单尚有一些控件没有提交值,那么这是错误的。
            }
            SubmittedValues = data;

            return(this);
        }