C
Christian H
Based on the content in my database, I need to populate different form
controls and validators, such as textbox, dropdownlist,
requiredfieldvalidators , etc.
Then I need to check if the form has been filled out correctly. If so, I
need to update a database, and do other things.
In order to check if the form is ok, I've tried looping through the
validator controls, and I've also tried using page.isvalid.
Nomatter what, the form seems to be incorrrectly filled out. The validator
controls comes out as "false", and Page.isvalid also comes out as false.
Regards C.H
Here is a modified example of my problem, so that you can see what I'm
dealing with.
<%@ Page language="c#" Codebehind="testfil1.aspx.cs" AutoEventWireup="false"
Inherits="smbuClass.testfil1" Trace=true enableViewState=false %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>testfil1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form runat="server" ID="Form1" method="post" action="testfil1.aspx">
<asplaceholder id="plh" runat="server" />
<asp:button Text="Click" runat="server" CausesValidation="true"
ID="Button" />
</form>
</body>
</HTML>
using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace smbuClass
{
public class testfil1 : System.Web.UI.Page
{
protected RequiredFieldValidator validator2 = new
RequiredFieldValidator();
protected TextBox txtfield=new TextBox();
protected System.Web.UI.WebControls.Button Button;
protected PlaceHolder plh;
private void Page_Load(Object sender,EventArgs e)
{
txtfield.ID="txtfield";
plh.Controls.Add(txtfield);
validator2.ControlToValidate=txtfield.ID+"";
validator2.ID="validator2";
validator2.Text = "Error";
validator2.ErrorMessage="Error";
validator2.EnableClientScript=false;
plh.Controls.Add(validator2);
if(Page.IsPostBack)
{
Page.Validate();
if(Page.IsValid)
Response.Write("all ok");
else
Response.Write("not ok");
foreach(BaseValidator b in Page.Validators)
{
Trace.Warn(b.IsValid + " " +b.ID + " ");
}
}
}
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
}
}
controls and validators, such as textbox, dropdownlist,
requiredfieldvalidators , etc.
Then I need to check if the form has been filled out correctly. If so, I
need to update a database, and do other things.
In order to check if the form is ok, I've tried looping through the
validator controls, and I've also tried using page.isvalid.
Nomatter what, the form seems to be incorrrectly filled out. The validator
controls comes out as "false", and Page.isvalid also comes out as false.
Regards C.H
Here is a modified example of my problem, so that you can see what I'm
dealing with.
<%@ Page language="c#" Codebehind="testfil1.aspx.cs" AutoEventWireup="false"
Inherits="smbuClass.testfil1" Trace=true enableViewState=false %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" >
<HTML>
<HEAD>
<title>testfil1</title>
<meta name="GENERATOR" Content="Microsoft Visual Studio 7.0">
<meta name="CODE_LANGUAGE" Content="C#">
<meta name="vs_defaultClientScript" content="JavaScript">
<meta name="vs_targetSchema"
content="http://schemas.microsoft.com/intellisense/ie5">
</HEAD>
<body MS_POSITIONING="GridLayout">
<form runat="server" ID="Form1" method="post" action="testfil1.aspx">
<asplaceholder id="plh" runat="server" />
<asp:button Text="Click" runat="server" CausesValidation="true"
ID="Button" />
</form>
</body>
</HTML>
using System;
using System.Data;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Collections;
namespace smbuClass
{
public class testfil1 : System.Web.UI.Page
{
protected RequiredFieldValidator validator2 = new
RequiredFieldValidator();
protected TextBox txtfield=new TextBox();
protected System.Web.UI.WebControls.Button Button;
protected PlaceHolder plh;
private void Page_Load(Object sender,EventArgs e)
{
txtfield.ID="txtfield";
plh.Controls.Add(txtfield);
validator2.ControlToValidate=txtfield.ID+"";
validator2.ID="validator2";
validator2.Text = "Error";
validator2.ErrorMessage="Error";
validator2.EnableClientScript=false;
plh.Controls.Add(validator2);
if(Page.IsPostBack)
{
Page.Validate();
if(Page.IsValid)
Response.Write("all ok");
else
Response.Write("not ok");
foreach(BaseValidator b in Page.Validators)
{
Trace.Warn(b.IsValid + " " +b.ID + " ");
}
}
}
override protected void OnInit(EventArgs e)
{
//
// CODEGEN: This call is required by the ASP.NET Web Form Designer.
//
InitializeComponent();
base.OnInit(e);
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
}
}
}