/// <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); }