Saturday, March 31, 2012

submitting form values

Hi all, (fyi, I know ASP well, .NET is new)

ok, submitting a form. Few things:

1. the form is a custom collage of textboxes, no formview, no detailsview, just textboxes, dropdownlists, and datavalidators.

2. The form get populated via querystring'd 'UserID' as so:---------------

Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim strSQL As String
Dim myDataReader As OleDbDataReader

Session.Item("CurrentUserIDtoEdit") = Request.QueryString("UserID")

strSQL = "SELECT * FROM Users " _
& "WHERE uniqueid='" & Session.Item("CurrentUserIDtoEdit") & "'"

myConnection = New OleDbConnection(System.Configuration.ConfigurationManager.AppSettings("strConn"))

myCommand = New OleDbCommand(strSQL, myConnection)

myConnection.Open()
myDataReader = myCommand.ExecuteReader()
Do While (myDataReader.Read())
TextboxFirstName.Text = Convert.ToString(myDataReader("FirstName"))
TextboxLastName.Text = Convert.ToString(myDataReader("LastName"))
TextboxAddress1.Text = Convert.ToString(myDataReader("Address1"))
TextboxAddress2.Text = Convert.ToString(myDataReader("Address2"))
TextboxCity.Text = Convert.ToString(myDataReader("City"))
DropDownState.SelectedValue = Convert.ToString(myDataReader("State"))
TextBoxZipCode.Text = Convert.ToString(myDataReader("Zip"))
TextBoxPhone.Text = Convert.ToString(myDataReader("Phone"))
TextBoxEmail.Text = Convert.ToString(myDataReader("emailaddress"))
TextboxUsername.Text = Convert.ToString(myDataReader("Username"))
TextboxPassword.Text = Convert.ToString(myDataReader("Password"))
DropDownListPermissionLevel.SelectedValue = myDataReader("PermissionLevel")
CheckBoxDeleted.Checked = Convert.ToBoolean(myDataReader("Deleted"))
Loop
myDataReader.Close()
myConnection.Close()

--------------THIS WORKS GREAT

Question is, this page is a 'Modify User' page. What I want is it to populate with current 'User' data from the DB (that's working fine. as above)

AND, when resubmitted, update the DB with the new data from the form, show a 'success label' of some sort with a minor delay, and response.redirect to 'Menu.aspx'

isPostBack is an option, yes...but how to integrate that conditional coding with a SQLDataObject? or do I hard code the update like the above code...and how?

(I have the Stored Procedure as follows)----------

CREATE PROCEDURE dbo.UpdateUser
(
@dotnet.itags.org.UniqueID int,
@dotnet.itags.org.FirstName nvarchar(50),
@dotnet.itags.org.LastName nvarchar(50),
@dotnet.itags.org.Address1 nvarchar(100),
@dotnet.itags.org.Address2 nvarchar(100),
@dotnet.itags.org.City char(100),
@dotnet.itags.org.State char(2),
@dotnet.itags.org.Zip char(5),
@dotnet.itags.org.Phone char(10),
@dotnet.itags.org.emailaddress nvarchar(100),
@dotnet.itags.org.Username nvarchar(50),
@dotnet.itags.org.Password nvarchar(50),
@dotnet.itags.org.PermissionLevel char(1),
@dotnet.itags.org.Deleted bit,
@dotnet.itags.org.SystemUserID int

)
AS
SET NOCOUNT OFF;
UPDATE Users
SET
FirstName = @dotnet.itags.org.FirstName,
LastName = @dotnet.itags.org.LastName,
Address1 = @dotnet.itags.org.Address1,
Address2 = @dotnet.itags.org.Address2,
City = @dotnet.itags.org.City,
State = @dotnet.itags.org.State,
Zip = @dotnet.itags.org.Zip,
Phone = @dotnet.itags.org.Phone,
emailaddress = @dotnet.itags.org.emailaddress,
username = @dotnet.itags.org.Username,
[Password] = @dotnet.itags.org.Password,
PermissionLevel = @dotnet.itags.org.PermissionLevel,
Deleted = @dotnet.itags.org.Deleted,

LastModifiedBy = @dotnet.itags.org.SystemUserID,
LastModifiedDate = CURRENT_TIMESTAMP

where Uniqueid = @dotnet.itags.org.UniqueID
GO

-----------

Do I somehow, link the SQLDataobject with the 'onclick' event of the 'submit' button?

NOTE: I figured out that the SQLDataobject has an updatecommandtype and an updatequery property panel where I set the params for the SP correctly to the form vars and session.items so it's ready to go...

---

<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ProductionConnectionString %>"
InsertCommand="InsertUser" InsertCommandType="StoredProcedure" SelectCommand="GetUser"
SelectCommandType="StoredProcedure" UpdateCommand="UpdateUser" UpdateCommandType="StoredProcedure">
<UpdateParameters>
<asp:SessionParameter Name="UniqueID" SessionField="CurrentUserIDtoEdit" Type="Int32" />
<asp:ControlParameter ControlID="TextboxFirstName" Name="FirstName" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxLastName" Name="LastName" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxAddress1" Name="Address1" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxAddress2" Name="Address2" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxCity" Name="City" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="DropDownState" Name="State" PropertyName="SelectedValue"
Type="String" />
<asp:ControlParameter ControlID="TextBoxZipCode" Name="Zip" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="TextBoxPhone" Name="Phone" PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="TextBoxEmail" Name="emailaddress" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxUsername" Name="Username" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="TextboxPassword" Name="Password" PropertyName="Text"
Type="String" />
<asp:ControlParameter ControlID="DropDownListPermissionLevel" Name="PermissionLevel"
PropertyName="SelectedValue" Type="String" />
<asp:ControlParameter ControlID="CheckBoxDeleted" Name="Deleted" PropertyName="Checked"
Type="Boolean" />
<asp:SessionParameter Name="SystemUserID" SessionField="UserID" Type="Int32" />
<asp:Parameter Direction="ReturnValue" Name="RETURN_VALUE" Type="Int32" />
</UpdateParameters>
<SelectParameters>
<asp:QueryStringParameter DefaultValue="" Name="UserID" QueryStringField="UserID"
Type="Int32" />
</SelectParameters>
<InsertParameters>
<asp:Parameter Name="FirstName" Type="String" />
<asp:Parameter Name="LastName" Type="String" />
<asp:Parameter Name="Address1" Type="String" />
<asp:Parameter Name="Address2" Type="String" />
<asp:Parameter Name="City" Type="String" />
<asp:Parameter Name="State" Type="String" />
<asp:Parameter Name="Zip" Type="String" />
<asp:Parameter Name="Phone" Type="String" />
<asp:Parameter Name="Fax" Type="String" />
<asp:Parameter Name="emailaddress" Type="String" />
<asp:Parameter Name="Username" Type="String" />
<asp:Parameter Name="Password" Type="String" />
<asp:Parameter Name="PermissionLevel" Type="String" />
<asp:Parameter Name="CurrentUserID" Type="Int32" />
</InsertParameters>
</asp:SqlDataSource>
<table>
<tr>
<td colspan="3" align="left"><asp:Label ID="Label1" runat="server" Text="Modify User" Font-Size="Large"></asp:Label></td>
</tr>
<tr>
<td style="height: 24px">First Name</td>
<td style="height: 24px"><asp:TextBox ID="TextboxFirstName" runat="server"></asp:TextBox></td>
<td style="height: 24px"><asp:RequiredFieldValidator ID="RequiredFieldValidatorFirstName" runat="server" ControlToValidate="TextboxFirstName"
ErrorMessage="First Name Required"></asp:RequiredFieldValidator> </td>
</tr>
<tr>
<td>Last Name</td>
<td><asp:TextBox ID="TextboxLastName" runat="server"></asp:TextBox></td>
<td><asp:RequiredFieldValidator ID="RequiredFieldValidatorLastName" runat="server"
ControlToValidate="TextboxLastName" ErrorMessage="Last Name Required"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>Address 1</td>
<td><asp:TextBox ID="TextboxAddress1" runat="server"></asp:TextBox></td>
<td><asp:RequiredFieldValidator ID="RequiredFieldValidatorAddress1" runat="server"
ControlToValidate="TextboxAddress1" ErrorMessage="Address Required"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>Address 2</td>
<td><asp:TextBox ID="TextboxAddress2" runat="server"></asp:TextBox></td>
<td></td>
</tr>
<tr>
<td>City</td>
<td><asp:TextBox ID="TextboxCity" runat="server"></asp:TextBox></td>
<td><asp:RequiredFieldValidator ID="RequiredFieldCity" runat="server"
ControlToValidate="TextboxCity" ErrorMessage="City Required"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>State</td>
<td><asp:DropDownList id="DropDownState" runat="server"
<asp:ListItem Value="AL">Alabama</asp:ListItem
<asp:ListItem Value="AK">Alaska</asp:ListItem
<asp:ListItem Value="AZ">Arizona</asp:ListItem
<asp:ListItem Value="AR">Arkansas</asp:ListItem
<asp:ListItem Value="CA">California</asp:ListItem
<asp:ListItem Value="CO">Colorado</asp:ListItem
<asp:ListItem Value="CT">Connecticut</asp:ListItem
<asp:ListItem Value="DC">District of Columbia</asp:ListItem
<asp:ListItem Value="DE">Delaware</asp:ListItem
<asp:ListItem Value="FL">Florida</asp:ListItem
<asp:ListItem Value="GA">Georgia</asp:ListItem
<asp:ListItem Value="HI">Hawaii</asp:ListItem
<asp:ListItem Value="ID">Idaho</asp:ListItem
<asp:ListItem Value="IL">Illinois</asp:ListItem
<asp:ListItem Value="IN">Indiana</asp:ListItem
<asp:ListItem Value="IA">Iowa</asp:ListItem
<asp:ListItem Value="KS">Kansas</asp:ListItem
<asp:ListItem Value="KY">Kentucky</asp:ListItem
<asp:ListItem Value="LA">Louisiana</asp:ListItem
<asp:ListItem Value="ME">Maine</asp:ListItem
<asp:ListItem Value="MD">Maryland</asp:ListItem
<asp:ListItem Value="MA">Massachusetts</asp:ListItem
<asp:ListItem Value="MI">Michigan</asp:ListItem
<asp:ListItem Value="MN">Minnesota</asp:ListItem
<asp:ListItem Value="MS">Mississippi</asp:ListItem
<asp:ListItem Value="MO">Missouri</asp:ListItem
<asp:ListItem Value="MT">Montana</asp:ListItem
<asp:ListItem Value="NE">Nebraska</asp:ListItem
<asp:ListItem Value="NV">Nevada</asp:ListItem
<asp:ListItem Value="NH">New Hampshire</asp:ListItem
<asp:ListItem Value="NJ">New Jersey</asp:ListItem
<asp:ListItem Value="NM">New Mexico</asp:ListItem
<asp:ListItem Value="NY">New York</asp:ListItem
<asp:ListItem Value="NC">North Carolina</asp:ListItem
<asp:ListItem Value="ND">North Dakota</asp:ListItem
<asp:ListItem Value="OH">Ohio</asp:ListItem
<asp:ListItem Value="OK">Oklahoma</asp:ListItem
<asp:ListItem Value="OR">Oregon</asp:ListItem
<asp:ListItem Value="PA">Pennsylvania</asp:ListItem
<asp:ListItem Value="RI">Rhode Island</asp:ListItem
<asp:ListItem Value="SC">South Carolina</asp:ListItem
<asp:ListItem Value="SD">South Dakota</asp:ListItem
<asp:ListItem Value="TN">Tennessee</asp:ListItem
<asp:ListItem Value="TX">Texas</asp:ListItem
<asp:ListItem Value="UT">Utah</asp:ListItem
<asp:ListItem Value="VT">Vermont</asp:ListItem
<asp:ListItem Value="VA">Virginia</asp:ListItem
<asp:ListItem Value="WA">Washington</asp:ListItem
<asp:ListItem Value="WV">West Virginia</asp:ListItem
<asp:ListItem Value="WI">Wisconsin</asp:ListItem
<asp:ListItem Value="WY">Wyoming</asp:ListItem
</asp:DropDownList>
</td>
<td></td>
</tr>
<tr>
<td>Zip Code</td>
<td><asp:TextBox ID="TextBoxZipCode" runat="server"></asp:TextBox></td>
<td><asp:RegularExpressionValidator id="RegularExpressionValidatorZipCode" runat="server" ErrorMessage="Zip format (12345-1234) last four optional" ControlToValidate="TextBoxZipCode" ValidationExpression="\d{5}(-\d{4})?"></asp:RegularExpressionValidator></td>
</tr>
<tr>
<td>Phone</td>
<td><asp:TextBox ID="TextBoxPhone" runat="server"></asp:TextBox></td>
<td><asp:RegularExpressionValidator ID="RegularExpressionValidatorPhone" runat="server" ErrorMessage="Phone Format (1234567890)" ControlToValidate="TextBoxPhone" ValidationExpression="((\(\d{3}\) ?)|(\d{3}))?\d{3}\d{4}"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>Email</td>
<td><asp:TextBox ID="TextBoxEmail" runat="server"></asp:TextBox></td>
<td><asp:RegularExpressionValidator id="RegularExpressionValidatorEmail" runat="server" ErrorMessage="Email format (a@dotnet.itags.org.a.com)" ControlToValidate="TextBoxEmail" ValidationExpression="\w+([-+.']\w+)*@dotnet.itags.org.\w+([-.]\w+)*\.\w+([-.]\w+)*"></asp:RegularExpressionValidator></td>
</tr>
<tr>
<td>Username</td>
<td><asp:TextBox ID="TextboxUsername" runat="server"></asp:TextBox></td>
<td><asp:RegularExpressionValidator ID="RegularExpressionValidatorUsername" runat="server" ErrorMessage="Username must be 4 chars long and start with a letter." ControlToValidate="TextboxUsername" ValidationExpression="^[A-Za-z]\w{3,}$"></asp:RegularExpressionValidator>
</td>
</tr>
<tr>
<td>Password</td>
<td><asp:TextBox ID="TextboxPassword" runat="server"></asp:TextBox></td>
<td><asp:RequiredFieldValidator ID="RequiredFieldValidatorPassword" runat="server"
ControlToValidate="TextboxPassword" ErrorMessage="Password Required"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td>Permission Level</td>
<td><asp:DropDownList ID="DropDownListPermissionLevel" runat="server">
<asp:ListItem Selected="True">Select One...</asp:ListItem>
<asp:ListItem Value="1">Admin</asp:ListItem>
<asp:ListItem Value="2">Manager</asp:ListItem>
</asp:DropDownList></td>
<td></td>
</tr>
<tr>
<td>Deleted</td>
<td><asp:CheckBox ID="CheckBoxDeleted" runat="server" /></td>
<td></td>
</tr>

<tr><td colspan="3">
<asp:ValidationSummary ID="ValidationSummaryAddUser" runat="server" />
</td></tr>
<tr>
<td style="height: 24px"><asp:Button ID="ResetButton" runat="server" Text="Reset" /></td>
<td style="height: 24px"><asp:Button ID="SubmitButton" runat="server" Text="Submit" /></td>
<td style="height: 24px"></td>
</tr>
</table>


</div>
</asp:Content>

---

just how to make the SQLDataobject and submit button onclick to like each other?

Thanks again all.

Hi,

Based on your description, I understand that you have created a SqlDataSource control on a table, and have created Select, Insert and Update command on it. If there is any misunderstanding, please feel free to let me know.

Usually, the Select command is fired by calling DataBind method on the controls. When binding, the method is called and the returned DataReader or DataSet is automatically bind to the controls.

For Update and Insert method, you will have to call the Update() or Insert() manually. In your case, call SqlDataSource1.Update() in the Submit button. If it's a newly added record, call SqlDataSource1.Insert().

If you need to know if the record has been added, you can use IF EXISTS statement to check existence in database.

IF EXISTS (SELECT * FROM t1 WHERE id = @.id)
BEGIN
--Call Update
END
ELSE
BEGIN
--Call Insert
END

Hope this helps.


Thank you for your reply.

Since my post, I've been non-stop .NET-in-ating and I've learned much. I wound up doing the following

Protected Sub SubmitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitButton.Click
Dim myConnection As OleDbConnection
Dim myCommand As OleDbCommand
Dim intUserCount As Integer
Dim strSQL As String

strSQL = "Insert into Users " _
& "(FirstName, LastName, Username, Password, Permissionlevel)" _
& "VALUES ('" & Trim(Replace(TextboxFirstName.Text, "'", "''")) & "','" _
& Trim(Replace(TextboxLastName.Text, "'", "''")) & "','" _
& Trim(Replace(TextboxUsername.Text, "'", "''")) & "','" _
& Trim(Replace(TextboxPassword.Text, "'", "''")) & "','" _
& Trim(Replace(DropDownListPermissionLevel.SelectedItem.Value, "'", "''")) & "')"

myConnection = New OleDbConnection(System.Configuration.ConfigurationManager.AppSettings("strConn"))

myCommand = New OleDbCommand(strSQL, myConnection)

myConnection.Open()
intUserCount = myCommand.ExecuteScalar()
myConnection.Close()


End Sub

But now, I've learned how to modify the 'templates' for a gridview/detailsview combo. I'm an old ASP guy, as I've said. So, messing with this has been good exercise to understand what's going on.

Since this posting, I've changed my whole view of how a 'control panel' could/needs to be laid out. This new .NET stuff is changing my way of 'organizing control panel' type portions of web sites.

As an exercise I'm converting www.beaudamore.com/ProductionManagement form old ASP into ASP.NET using VB as the base code. The whole way the 'Menu' is laid out is going to change in respect to this whole new programming style. I'm envisioning it different, simpler, but equally powerful. I will post more, perhaps my view form old ASP will help other 'old timers' as well. I think I took too long to make the change.

Thanks again.

Submitting Form to Database

I have an ASP.Net page created with a table I made to look like a form
for our benefit request program. How do I code this properly to send
it to a table in our database.

For the sake of me learning how to do this lets just do short example
like. I have an aspx page with a label for name and a text box where
a user can input their name.

I have a database table called tblName with a column called name where
the submitted names go.

How do I code it so the name is submitted, a confirmation page is
shown and the data goes to the database when I click submit? Any help
is greatly appreciated.

Thanks,
BenIf you look at the ASP.NET QUICKSTART tutorials on the asp.net website, it
has lots of examples like this. QUICKSTARTS also installs as an option with
Visual Studio.
--
--Peter
"Inside every large program, there is a small program trying to get out."
http://www.eggheadcafe.com
http://petesbloggerama.blogspot.com
http://www.blogmetafinder.com
"Ben" wrote:

Quote:

Originally Posted by

I have an ASP.Net page created with a table I made to look like a form
for our benefit request program. How do I code this properly to send
it to a table in our database.
>
For the sake of me learning how to do this lets just do short example
like. I have an aspx page with a label for name and a text box where
a user can input their name.
>
I have a database table called tblName with a column called name where
the submitted names go.
>
How do I code it so the name is submitted, a confirmation page is
shown and the data goes to the database when I click submit? Any help
is greatly appreciated.
>
Thanks,
Ben
>

Submitting Form to Database

I have an ASP.Net page created with a table I made to look like a form
for our benefit request program. How do I code this properly to send
it to a table in our database.
For the sake of me learning how to do this lets just do short example
like. I have an aspx page with a label for name and a text box where
a user can input their name.
I have a database table called tblName with a column called name where
the submitted names go.
How do I code it so the name is submitted, a confirmation page is
shown and the data goes to the database when I click submit? Any help
is greatly appreciated.
Thanks,
BenIf you look at the ASP.NET QUICKSTART tutorials on the asp.net website, it
has lots of examples like this. QUICKSTARTS also installs as an option with
Visual Studio.
--
--Peter
"Inside every large program, there is a small program trying to get out."
http://www.eggheadcafe.com
http://petesbloggerama.blogspot.com
http://www.blogmetafinder.com
"Ben" wrote:

> I have an ASP.Net page created with a table I made to look like a form
> for our benefit request program. How do I code this properly to send
> it to a table in our database.
> For the sake of me learning how to do this lets just do short example
> like. I have an aspx page with a label for name and a text box where
> a user can input their name.
> I have a database table called tblName with a column called name where
> the submitted names go.
> How do I code it so the name is submitted, a confirmation page is
> shown and the data goes to the database when I click submit? Any help
> is greatly appreciated.
> Thanks,
> Ben
>

Submitting form from the Server Control

Hi,

the form data exists in the Request.Form collection. how do you mavigate
from Page1 to Page2?
if you use server.transfer make sure the the secound parameter set to
true otherwise the Form wont redirect to Page2.

Natty Gur, CTO
Dao2Com Ltd.
34th Elkalay st. Raanana
Israel , 43000
Phone Numbers:
Office: +972-(0)9-7740261
Fax: +972-(0)9-7740261
Mobile: +972-(0)58-888377

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!Hi,

Thanks for the info. I was using Response.Redirect to redirect to the next
page. Because of that I was not getting the submitted value.

Regards

Pradeep

"Natty Gur" <natty@.dao2com.com> wrote in message
news:uBoQVf7ZDHA.1744@.TK2MSFTNGP12.phx.gbl...
> Hi,
> the form data exists in the Request.Form collection. how do you mavigate
> from Page1 to Page2?
> if you use server.transfer make sure the the secound parameter set to
> true otherwise the Form wont redirect to Page2.
> Natty Gur, CTO
> Dao2Com Ltd.
> 34th Elkalay st. Raanana
> Israel , 43000
> Phone Numbers:
> Office: +972-(0)9-7740261
> Fax: +972-(0)9-7740261
> Mobile: +972-(0)58-888377
>
> *** Sent via Developersdex http://www.developersdex.com ***
> Don't just participate in USENET...get rewarded for it!
Hi,

One more thing. When i use Server.Transfer, the URL of the IE doesn't get
updated with the current form. Also it always displays the URL of the last
Form.

Any idea ?

Pradeep

"Natty Gur" <natty@.dao2com.com> wrote in message
news:uBoQVf7ZDHA.1744@.TK2MSFTNGP12.phx.gbl...
> Hi,
> the form data exists in the Request.Form collection. how do you mavigate
> from Page1 to Page2?
> if you use server.transfer make sure the the secound parameter set to
> true otherwise the Form wont redirect to Page2.
> Natty Gur, CTO
> Dao2Com Ltd.
> 34th Elkalay st. Raanana
> Israel , 43000
> Phone Numbers:
> Office: +972-(0)9-7740261
> Fax: +972-(0)9-7740261
> Mobile: +972-(0)58-888377
>
> *** Sent via Developersdex http://www.developersdex.com ***
> Don't just participate in USENET...get rewarded for it!

Submitting form from the Server Control

Dear All,

How can I submit the whole form data when I click on the "ASP Server
Button". I want to use the Posted data in the redirect form.

Regards

PradeepHi,

What "whole form data means. Every form submits already sending all
the Input values to the server by default. If you want the entire HTML
add invisible Input box and put the body innerhtml in that input box
before submitting.

Natty Gur, CTO
Dao2Com Ltd.
34th Elkalay st. Raanana
Israel , 43000
Phone Numbers:
Office: +972-(0)9-7740261
Fax: +972-(0)9-7740261
Mobile: +972-(0)58-888377

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!

Submitting form with multiple onclick events

Hi

I'm building a custom control which basically takes data from the user
and then submits it. I would use the validator controls but if I
understand correctly (I've been working with .Net for 2 weeks) you
cant 'embed' them in the custom controls. Someone correct me if I'm
wrong (and please point to an example :) )

So, to get around this, I'm using Javascript. In my control, I'm doing

Writer.WriteAttribute("OnClick", "javascript:checkData();" &
Page.GetPostBackEventReference(Me, "Data"))

for an Input item so I get something like

<input type="button" value="Submit"
OnClick="javascript:checkData();__doPostBack('MyControl','D ata')" /
The checkData() function does this:

function checkLogin()
{
if (document.Data.item1.value == "" )
{
alert("Please enter item 1.");
return false;
}

if (document.Data.item2.value == "" )
{
alert("Please enter item 2.");
return false;
}

if (document.Data.item1.value != "" && document.Data.item2.value !=
"" )
{
return true;
}

}

My query is, how do I get the click event to fire correctly so that i
get alerts when there is a problem, and it passes through and submits
the form if there isnt a problem?

Thanks

SamHi,

Your client side script should use cancelBubble and returnValue to
disable event default process and raise alert if error found.

function CallServer()
{
if validate
{
__doPostBack('MyControl','Data');
}
else
{
alert("Error");
window.event.cancelBubble = true;
window.event.returnValue = false;
}
}

HTH

Natty Gur[MVP]

blog : http://weblogs.asp.net/ngur
Mobile: +972-(0)58-888377

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Natty Gur <natty@.dao2com.com> wrote in message news:<uSSwHLhAEHA.3348@.TK2MSFTNGP11.phx.gbl>...
> Hi,
> Your client side script should use cancelBubble and returnValue to
> disable event default process and raise alert if error found.
> function CallServer()
> {
> if validate
> {
> __doPostBack('MyControl','Data');
> }
> else
> {
> alert("Error");
> window.event.cancelBubble = true;
> window.event.returnValue = false;
> }
> }
>
> HTH
> Natty Gur[MVP]
> blog : http://weblogs.asp.net/ngur
> Mobile: +972-(0)58-888377
>
> *** Sent via Developersdex http://www.developersdex.com ***
> Don't just participate in USENET...get rewarded for it!

Thanks Natty

This means I have to create inline javascripts which I'd rather not do
if I can help it. Just as luck would have it, after spending an 'hour
or two' trying to find a solution before posting, 5 mins after posting
I find a solution :( Always the way...

Anyhow, just for reference purposes, what I've done is to validate on
OnMouseDown and postback on OnClick. Works a treat
Hi Samuel,

Its unfortunate that you had to rework validation because of some incorrect
information about validators. The ASP.NET validators work fine within custom
controls. They have one key limitation related to their "location": the
ControlToValidate must be associated with the ID of a control in the same
"naming container". If your custom control impliments INamingContainer,
ControlToValidate can only point to other controls within your custom
control. If not, it can refer to other controls in the same naming container
that your custom control appears. Some types of naming containers: Page,
UserControl, and rows in DataGrid and DataList.

If you wanted to support validation without naming container limits, I wrote
a replacement to Microsoft's validators that overcomes that limitation among
numerous others: Professional Validation And More.
http://www.peterblum.com/vam/home.aspx.

-- Peter Blum
www.PeterBlum.com
Email: PLBlum@.PeterBlum.com
Creator of "Professional Validation And More" at
http://www.peterblum.com/vam/home.aspx

"Samuel Hon" <noreply@.samuelhon.co.uk> wrote in message
news:c8672b7d.0403040703.c458604@.posting.google.co m...
> Hi
> I'm building a custom control which basically takes data from the user
> and then submits it. I would use the validator controls but if I
> understand correctly (I've been working with .Net for 2 weeks) you
> cant 'embed' them in the custom controls. Someone correct me if I'm
> wrong (and please point to an example :) )
> So, to get around this, I'm using Javascript. In my control, I'm doing
> Writer.WriteAttribute("OnClick", "javascript:checkData();" &
> Page.GetPostBackEventReference(Me, "Data"))
> for an Input item so I get something like
> <input type="button" value="Submit"
> OnClick="javascript:checkData();__doPostBack('MyControl','D ata')" />
> The checkData() function does this:
> function checkLogin()
> {
> if (document.Data.item1.value == "" )
> {
> alert("Please enter item 1.");
> return false;
> }
> if (document.Data.item2.value == "" )
> {
> alert("Please enter item 2.");
> return false;
> }
> if (document.Data.item1.value != "" && document.Data.item2.value !=
> "" )
> {
> return true;
> }
> }
> My query is, how do I get the click event to fire correctly so that i
> get alerts when there is a problem, and it passes through and submits
> the form if there isnt a problem?
> Thanks
> Sam
"Peter Blum" <PLBlum@.Blum.info> wrote in message news:<OC#ZP$uAEHA.624@.TK2MSFTNGP10.phx.gbl>...
> Hi Samuel,
> Its unfortunate that you had to rework validation because of some incorrect
> information about validators. The ASP.NET validators work fine within custom
> controls. They have one key limitation related to their "location": the
> ControlToValidate must be associated with the ID of a control in the same
> "naming container". If your custom control impliments INamingContainer,
> ControlToValidate can only point to other controls within your custom
> control. If not, it can refer to other controls in the same naming container
> that your custom control appears. Some types of naming containers: Page,
> UserControl, and rows in DataGrid and DataList.
> If you wanted to support validation without naming container limits, I wrote
> a replacement to Microsoft's validators that overcomes that limitation among
> numerous others: Professional Validation And More.
> http://www.peterblum.com/vam/home.aspx.
> -- Peter Blum
> www.PeterBlum.com
> Email: PLBlum@.PeterBlum.com
> Creator of "Professional Validation And More" at
> http://www.peterblum.com/vam/home.aspx
<snip
Thanks Peter for clearing that up, I will re-investigate

Sam

Submitting form with a unique ID

Hi All,

I'm looking for some information/code samples on how I can create a
simple web form that includes an auto-generated Unique ID on the form.

The form includes the following 3 fields (Unique ID, First Name and
Last Name). I have a SQL Server 2000 back-end with the table created
as follows:

UniqueID - numeric (9)
FirstName - varchar (50)
LastName - varchar (50)

Ideally I would like the user just to enter their First and Last Name
and the form automatically creates a Unique ID for them. Once they
type in their First/Last Name the user submits the information to the
database. I've managed to get the web form created so that it submits
the First/Last Name successfully but I can't think how to create the
Unique ID, ideally I'd like this to be based around the time/date of
submittal.

Any guidance would be much appreciated.

Thanks

ScottJames... If you declare an IDENTITY column, SQL will return a
uniqueID upon INSERT. If you want to generate your own
uniqueID you could do a concatenation of the MAC address of the
client ethernet card plus a timestamp.

Regards,
Jeff
>I've managed to get the web form created so that it submits
the First/Last Name successfully but I can't think how to create the
Unique ID, ideally I'd like this to be based around the time/date of
submittal.<

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Using a system generated GUID is quick and easy, although kinda long.
16 bytes minimum.

"James Brown" <i.m@.winning.com> wrote in message
news:1f88a50b.0307051028.3caafaf1@.posting.google.c om...
> Hi All,
> I'm looking for some information/code samples on how I can create a
> simple web form that includes an auto-generated Unique ID on the form.
> The form includes the following 3 fields (Unique ID, First Name and
> Last Name). I have a SQL Server 2000 back-end with the table created
> as follows:
> UniqueID - numeric (9)
> FirstName - varchar (50)
> LastName - varchar (50)
> Ideally I would like the user just to enter their First and Last Name
> and the form automatically creates a Unique ID for them. Once they
> type in their First/Last Name the user submits the information to the
> database. I've managed to get the web form created so that it submits
> the First/Last Name successfully but I can't think how to create the
> Unique ID, ideally I'd like this to be based around the time/date of
> submittal.
> Any guidance would be much appreciated.
> Thanks
> Scott