|
- Profile your application;
- Find the performance bottle-neck;
- Tune the affected code;
- Repeat until performance is acceptable;
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Where? Next time onwards mention some more details to get more & quick answers. Here I have consolidated bunch of things related to performance, check it out.
Improve Everything[^]
|
|
|
|
|
Hello
In my 'register new user' ASP.NET Web form, I am experiencing two errors which I have not been able to resolve. I have a register.aspx file and a register.aspx.vb file.
I get this error in my aspx file:
BC30456: 'SubmitButton_Click' is not a member of 'ASP.account_register_aspx'.
This relates to this line:
</div>
<asp:Button ID="SubmitButton" runat="server" OnClick="SubmitButton_Click" Text="Register" CssClass="btn btn-default" Height="32px" />
<br />
</asp:Content>
and in my aspx.vb file and, presumably related to the above error in my aspx file, where I have:
Protected Sub SubmitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitButton_Click.Click.
I get the following error:
Handles clause requires a WithEvents variable defined in the containing type or one of its base types.
I have attempted to read up on Handles/WithEvents tonight, but it's a bit above me at the moment.
In context, the Handles error occurs in this snippet:
Partial Class _Register
Inherits System.Web.UI.Page
Protected Sub SubmitButton_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles SubmitButton_Click.Click.
Using(conn As OleDbConnection = New OleDbConnection(System.Configuration.ConfigurationManager.ConnectionStrings("usersConnectionString").ConnectionString))
.Dim sql = "INSERT INTO userlist (username,password, strEmail) VALUES (@username,@password, @strEmail)"
.Using cmd = New OleDbCommand(sql, conn)
conn.Open()
cmd.Parameters.AddWithValue("@username", txtusername.Text)
cmd.Parameters.AddWithValue("@password", txtpassword.Text)
cmd.Parameters.AddWithValue("@strEmail", txtstrEmail.Text)
cmd.ExecuteNonQuery()
End Using
End Using
End Sub
End Class
Any help would be appreciated.
|
|
|
|
|
I'm assuming the extra "." on the end of your Handles line is a typo?
It sounds like your <%@ Page ... %> directive is pointing to the wrong .aspx.vb file.
Once you've got it pointing to the right file, I suspect your handler will fire either two or three times - you've connected it to the Click event in the code-behind using the Handles clause; you've connected it again in the markup with the OnClick="..." attribute; and, if you have AutoEventWireup turned on, that will connect it a third time based on the method name.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Hello Richard
Thank you for your reply.
I take it that where I have:
<%@ Page Title="Register" Language="VB" MasterPageFile="~/Site.Master" AutoEventWireup="true" CodeFile="Register.aspx.vb" Inherits="Account_Register" %>
in my main aspx file, that 'CodeFile' must always point to the aspx.vb file and that in the aspx.vb file itself, class statements related to 'Inherit', should refer to 'Account Register' in this particular case?
Thanks.
|
|
|
|
|
Yes, CodeFile="..." needs to point to the .aspx.vb file. The class name in the Inherits="..." attribute needs to match the name of the class defined in your .aspx.vb file.
So if you have register.aspx.vb which contains:
Partial Class Account_Register
Inherits System.Web.UI.Page
...
End Class
Then your <%@ Page ... %> directive in register.aspx would look like:
<%@ Page ... CodeFile="Register.aspx.vb" Inherits="Account_Register" %>
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
That's great.
Thanks very much.
Blueie
|
|
|
|
|
<html>
<body>
<h2>Update Record</h2>
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "c:/webdata/northwind.mdb"
cid=Request.Form("customerID")
if Request.form("companyname")="" then
set rs=Server.CreateObject("ADODB.Recordset")
rs.open "SELECT * FROM customers WHERE customerID='" & cid & "'",conn
%>
<form method="post" action="demo_update.asp">
<table>
<%for each x in rs.Fields%>
<tr>
<td><%=x.name%></td>
<td><input name="<%=x.name%>" value="<%=x.value%>"></td>
<%next%>
</tr>
</table>
<br><br>
<input type="submit" value="Update record">
</form>
<%
else
sql="UPDATE customers SET "
sql=sql & "companyname='" & Request.Form("companyname") & "',"
sql=sql & "contactname='" & Request.Form("contactname") & "',"
sql=sql & "address='" & Request.Form("address") & "',"
sql=sql & "city='" & Request.Form("city") & "',"
sql=sql & "postalcode='" & Request.Form("postalcode") & "',"
sql=sql & "country='" & Request.Form("country") & "'"
sql=sql & " WHERE customerID='" & cid & "'"
on error resume next
conn.Execute sql
if err<>0 then
response.write("No update permissions!")
else
response.write("Record " & cid & " was updated!")
end if
end if
conn.close
%>
</body>
</html>
The code above won't work, I tried removing the ' around cid and gave me other errors. Does anybody see my error? Thank you guys.
|
|
|
|
|
|
Hi,
I am using a modal pop up to check the Accessibility of user if he success fully logs in i am allowing to open a PDF File. when i am opening the PDF File i want to close the Ajax modal popup but unable to close.
can any one help me in solving this issue
Thanks,
Aditya.
|
|
|
|
|
aditya kiran maroju wrote: i want to close the Ajax modal popup but unable to close.
What (error) are you confronting?
|
|
|
|
|
Hi. I Have a master page at the back having menu. I have then created a webform from it. I want the main menu item to get highlighted on page load. Also I want the main menu item to get highlighted when a sub menu item is loaded.
My code which I have tried so far will follow.
hoping for a solution.
Thanks in advance.
<script src="../Scripts/jquery-2.1.0.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function () {
$('#nav').find('li a').click(function () {
$('#nav').find('li a').removeClass('active');
$(this).addClass('active');
$($(this).closest('li.menu-item').children()[0]).addClass('active');
});
});
</script>
#nav {
height: 50px;
width: auto;
position: relative;
background-color: #ad8f5d;
}
#nav ul li {
width:150px;
text-align:center;
}
#nav ul li a
{
color: Black;
font-size: 13px;
font-weight: bold;
line-height:50px;
text-decoration: none;
}
#nav li a.active
{
color:White;
}
#nav ul li a.has_submenu {
background: transparent url('../Images/submenu-item.jpg') no-repeat scroll right center;
padding-right: 0px;
}
#nav ul li a.has_submenu:hover, #nav ul li.sfHover a.has_submenu {
background-image: url('../Images/submenu-item-hover.jpg');
}
#nav ul ul li a.has_submenu {
background: transparent url('../Images/submenu-item-invert.jpg') no-repeat scroll right center;
padding-right: 0px;
}
#nav ul ul li a.has_submenu:hover, #nav ul ul li.sfHover a.has_submenu {
background-image: url('../Images/submenu-item-hover-invert.jpg');
}
#nav ul ul li a {
float: none;
width: 170px;
}
#nav ul > li:hover > a
{
background-color: #1f478d;
}
#nav ul ul > li:hover > a
{
background-color: #1f478d;
}
#nav ul > li:hover > a.has_submenu
{
background-image: url('../Images/submenu-item-hover.jpg');
}
#nav ul ul > li:hover > a.has_submenu
{
background-image: url('../Images/submenu-item-hover-invert.jpg');
}
#nav ul li a:hover, #nav ul li.sfHover a{
background-color: #1f478d;
}
#nav ul ul a
{
background-color: #ad8f5d;
}
#nav ul li li a:hover, #nav ul li.sfHover li a:hover {
background-color: #1f478d;
}
.sf-menu, .sf-menu *
{
height:50px;
margin: 0;
padding: 0;
list-style: none;
}
.sf-menu ul {
position: absolute;
top: -999em;
width: 200px;
margin-top: 0px;
padding-top: 0;
}
.sf-menu ul li {
width: 100%;
}
.sf-menu li:hover {
visibility: inherit;
}
.sf-menu li {
float: left;
position: relative;
}
.sf-menu a {
display: block;
position: relative;
}
.sf-menu li:hover ul,
.sf-menu li.sfHover ul {
left: 0;
top: 49px;
z-index: 99;
}
ul.sf-menu li:hover li ul,
ul.sf-menu li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li:hover ul,
ul.sf-menu li li.sfHover ul {
left: 170px;
top: 0;
}
ul.sf-menu li li:hover li ul,
ul.sf-menu li li.sfHover li ul {
top: -999em;
}
ul.sf-menu li li li:hover ul,
ul.sf-menu li li li.sfHover ul {
left: 10em;
top: 0;
}
<div id="nav">
<ul class="sf-menu">
<li class="menu-item"><a href="Home.aspx">Home</a></li>
<li class="menu-item"><a class="has_submenu" href="#">Examples</a>
<ul>
<li><a href="Static.aspx">Static Text Page</a></li>
<li><a href="#">Static Frontpage</a></li>
<li><a href="#">Another link</a></li>
</ul>
</li>
<li class="menu-item"><a class="has_submenu" href="#">Products</a>
<ul>
<li><a href="Product.aspx">Product One</a></li>
<li><a href="#">Product Two</a></li>
<li><a href="#">Product Three</a></li>
</ul>
</li>
<li class="menu-item"><a href="#">Solutions</a></li>
<li class="menu-item"><a href="#">Contact</a></li>
</ul>
</div>
|
|
|
|
|
hi i want to develop microsoft windows kinect based web application for user like buying and playing games
can any one know how to get started with that using visual studio .Net
|
|
|
|
|
|
Hi,
I want to have a repeater control on which a row would contain button with + and - sign, when we click on + sign that will display a child that is below this row and makes the text of the button as -, when button with text - is clicked it will hide the item below the row. Just like show and hide functionality on repeater.
Can anybody please help me in this regards any kind of help is greatly helpful. Any code snippet, link or advice would help me a lot.
Thanks in advance.
Thanks & Regards,
Abdul Aleem Mohammad
St Louis MO - USA
|
|
|
|
|
|
Hi,
Thanks for your suggestion.
The grid view that you have given me doesn't have editable fields. I am looking something that I can edit, just like in repeater control. Do we have any option for it?
Thanks a lot.
Thanks & Regards,
Abdul Aleem Mohammad
St Louis MO - USA
|
|
|
|
|
Hello
I am attempting to create a 'Register new user' page in ASP.NET.
I have created an email field for the user to type in his email address, but I am getting errors. The code in my Register.aspx file for the email field looks like this:
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="strEmail" CssClass="col-md-2 control-label">Email</asp:Label>
<div class="col-md-10">
<asp:TextBox runat="server" ID="strEmail" TextMode="Email" CssClass="form-control" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="Email"
CssClass="text-danger" Display="Dynamic" ErrorMessage="The email field is required." />
<asp:CompareValidator runat="server" ControlToCompare="strEmail" ControlToValidate="Email"
CssClass="text-danger" Display="Dynamic" ErrorMessage="Please enter a valid email address." />
The error I am getting is this: 'Exception Details: System.Web.HttpException: Unable to find control id 'Email' referenced by the 'ControlToValidate' property of'.
The reason I have used strEmail is because that is the name of the column in my MS Access database, and it is used by other parts of the site (to resolve forgotten passwords).
How can I correct these errors, please?
Thanks.
|
|
|
|
|
Member 8761667 wrote: ID="strEmail"
Member 8761667 wrote: ControlToValidate="Email"
From MSDN:
This property must be set to the ID of an input control for all validation controls except the CustomValidator control, which can be left blank.
In other words, you need to have the same value in ControlToValidate that you have in ID - in this case, "strEmail".
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Thank you for your replies.
I only seem to avoid errors if I use the following:
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="strEmail" CssClass="col-md-2 control-label">Email</asp:Label>
<div class="col-md-10">
<asp:TextBox runat="server" ID="strEmail" TextMode="Email" CssClass="form-control" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="strEmail"
CssClass="text-danger" Display="Dynamic" ErrorMessage="The email field is required." />
<asp:CompareValidator runat="server" ControlToCompare="" ControlToValidate="strEmail"
CssClass="text-danger" Display="Dynamic" ErrorMessage="Please enter a valid email address." />
</div>
In other words, the ID is the same as 'ControltoValidate' (strEmail), but please note that I have no value in this: ControlToCompare=""
I am not sure what that attribute does or how important it is, or even if the code will work! It just seems that I can avoid errors by leaving it blank.
Any advice appreciated!
Blue
|
|
|
|
|
Once again, from MSDN:
Compares the value entered by the user in an input control with the value entered in another input control, or with a constant value.
So the question is, what are you trying to compare your email address to?
For example, if you wanted the user to enter their email address twice, you would have a CompareValidator with its ControlToValidate pointing to the second TextBox , and its ControlToCompare pointing to the first TextBox . The validator would then check that the user had entered the same value in both controls.
If you wanted to make sure the user had entered a specific value, you would leave the ControlToCompare blank, and set the ValueToCompare instead. The validator would then check that the user had entered the specified value.
From the error message, I'm guessing that you want to validate the format of the email address. If that's the case, then you'll probably want to use a RegularExpressionValidator instead[^]:
<asp:RegularExpressionValidator runat="server" ControlToValidate="strEmail"
CssClass="text-danger" Display="Dynamic" ErrorMessage="Please enter a valid email address."
ValidationExpression="^.+@.+$"
/>
The ValidationExpression property uses Regular Expressions[^] to validate the entered value against a pattern. You can find some quite complicated email address patterns on the internet, but most of them have problems with some email addresses. It's generally simplest just to validate that the address contains an "@" character, and has characters before and after it.
You should probably spend some time reading about validation in ASP.NET - try Understanding ASP.NET Validation Techniques[^] or ASP.NET Quickstart Tutorials : Validating Form Input Controls[^]
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Many thanks again for your reply and the validation links which I have bookmarked and will return to.
With my three fields only - username, password, and confirm password - things are fine. No errors and the form looks pretty!
However, when I copy and paste the following into my source code (thank you for the email validation expression: it would have taken me an age to find that!):
<div class="form-group">
<asp:Label runat="server" AssociatedControlID="Email" CssClass="col-md-2 control-label">Email</asp:Label>
<div class="col-md-10">
<asp:TextBox runat="server" ID="strEmail" TextMode="Email" CssClass="form-control" />
<asp:RequiredFieldValidator runat="server" ControlToValidate="strEmail"
CssClass="text-danger" Display="Dynamic" ErrorMessage="The email field is required." />
<asp:RegularExpressionValidator runat="server" ControlToValidate="strEmail"
CssClass="text-danger" Display="Dynamic" ErrorMessage="Please enter a valid email address."
ValidationExpression="^.+@.+$" />
</div>
</div>
I get a 'Stack Empty' error.
I have ensured that the ID and ControltoValidate values are the same (namely, strEmail). There are, in fact two ControltoValidate attributes. I imagine they relate to 1) Ensure an email address is typed in, and 2) Ensure it passes the +@.+$ test. And the two error messages make sense.
So I am not sure where I am going wrong!
Thanks for your patience!
|
|
|
|
|
Member 8761667 wrote: There are, in fact two ControltoValidate attributes.
I assume you mean there's one attribute on each validator? One on the RequiredFieldValidator and one on the RegularExpressionValidator ? Each validator needs to know which control it needs to validate, so it has to have its own ControlToValidate attribute.
Member 8761667 wrote: I get a 'Stack Empty' error.
I've never heard of that one before. Can you post the full exception message and stack-track?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Yes, here is the error when I preview the page in my browser:
Stack empty.
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: System.InvalidOperationException: Stack empty.
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[InvalidOperationException: Stack empty.]
System.ThrowHelper.ThrowInvalidOperationException(ExceptionResource resource) +52
System.Collections.Generic.Stack`1.Pop() +6694385
Microsoft.VisualStudio.Web.PageInspector.Runtime.WebForms.SelectionMappingRenderTraceListener.EndRendering(TextWriter writer, Object renderedObject) +152
System.Web.UI.RenderTraceListenerList.EndRendering(TextWriter writer, Object renderedObject) +58
System.Web.UI.Control.RenderControlInternal(HtmlTextWriter writer, ControlAdapter adapter) +142
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +100
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +25
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1386
Thanks!
|
|
|
|
|