You are developing a Web Form. The Web Form allows users to insert personal information.
You need to set the cursor inside the given name text box when the Web Form is first displayed.
What should you do?
A) Call the SetFocus method of the Page inside the text box control's Init event.
B) Set the text box control's TabIndex property to 0.
C) Call the Focus method of the text box control inside the page load event.
D) Set the text box control's Enabled attribute to True inside the form's source view.
My answer would be C, since it just makes sense to set focus to the control during the page_load event.
A is wrong (IMO): because SetFocus is not a defined method and the Page_Init only initializes the page when it is first called. The Page_Load event is then called once the request has been processed, and all of the controls are updated.
B is wrong because the TabIndex only tells what order of the controls on the page are sequentially access when the tab button is pressed.
D is wrong because setting a control to enabled only allows the user to enter information into that control.
Interesting programming ideas, solutions, and logic that I have used to solve problems or have come across throughout my career.
About Me
- William Andrus
- Northglenn, Colorado, United States
- I'm primarily a BI Developer on the Microsoft stack. I do sometimes touch upon other Microsoft stacks ( web development, application development, and sql server development).
Wednesday, September 20, 2006
Sunday, September 10, 2006
Kerberos
Well, I don't know much about Kerberos other then that it allows single authentication within a system. So here are some helpful websites to keep in mind:
http://www.hitmill.com/computers/kerberos.html
http://www.microsoft.com/technet/prodtechnol/windows2000serv/deploy/confeat/kerberos.mspx
http://support.microsoft.com/?id=319723
http://www.hitmill.com/computers/kerberos.html
http://www.microsoft.com/technet/prodtechnol/windows2000serv/deploy/confeat/kerberos.mspx
http://support.microsoft.com/?id=319723
Friday, September 08, 2006
An Interview Question: Whats the difference between an EXE and DLL?
The distinction between EXE and DLL files is entirely one of semantics. They both use the exact same PE [Portable Executable] format. The only difference is a single bit that indicates if the file should be treated as an EXE or as a DLL. Even the DLL file extension is artificial. You can have DLLs with entirely different extensions—for instance .OCX controls and Control Panel applets (.CPL files) are DLLs.-- Matt Pietrek
Thursday, September 07, 2006
VI Search Engine
Ok, this is very cool, especially using the insert and deleting of results, too bad it doesn't support ex commands so I can search within the results. Well here is the link:
http://www.visearch.com/
http://www.visearch.com/
Lunch started out innocently enough for Snap.com colleagues Brad Haugaard, Joe Chen, Ken Yeh. While discussing Snap's very visually oriented search engine, they collectively wondered, "What about people who don't really care about pictures?"-- from http://www.linuxplanet.com/linuxplanet/reviews/6306/1/
Somebody said, "How about 'visearch'? We could combine a vi editor with a search engine."
The three mused that you could move up and down with the "j" and "k" keys. You might also delete bad listings with "dd" or insert comments into the listing with an "i".
With suggestions from Haugaard and Yeh, Chen programmed a working system over the next few weeks. Chen and Yeh are both software engineers, while Haugaard is a customer service manager.
Thursday, August 31, 2006
Set Day of the Month
Ok, had to quickly write this one, to find the nth day of a month.
private System.DateTime SetDayOfMonth(System.Int32 nth, System.DayOfWeek weekday, System.Int32 month, System.Int32 year)
{
System.DateTime dath = new DateTime(year, month, 1); //set to first day of the month
//get to the first weekday looking for
while(dath.DayOfWeek != weekday)
{
dath = dath.AddDays(1);
}
if(nth > 1)
{
dath = dath.AddDays((nth - 1) * 7);
}
else
{
dath = dath.AddMonths(1);
dath = dath.Substract(TimeSpan.FromDays(1); //last day of the month
while(dath.DayOfWeek != weekday)
{
dath = dath.Subtract(TimeSpan.FromDays(1)); //cycle backwards to last
}
dath = dath.Subtract(TimeSpan.FromDays(((nth * -1) - 1) * 7));
}
return dath;
}
private System.DateTime SetDayOfMonth(System.Int32 nth, System.DayOfWeek weekday, System.Int32 month, System.Int32 year)
{
System.DateTime dath = new DateTime(year, month, 1); //set to first day of the month
//get to the first weekday looking for
while(dath.DayOfWeek != weekday)
{
dath = dath.AddDays(1);
}
if(nth > 1)
{
dath = dath.AddDays((nth - 1) * 7);
}
else
{
dath = dath.AddMonths(1);
dath = dath.Substract(TimeSpan.FromDays(1); //last day of the month
while(dath.DayOfWeek != weekday)
{
dath = dath.Subtract(TimeSpan.FromDays(1)); //cycle backwards to last
}
dath = dath.Subtract(TimeSpan.FromDays(((nth * -1) - 1) * 7));
}
return dath;
}
Thursday, July 20, 2006
Grid View Problem
Well recently I've been trying to get my grid view to be specific, since their is a column I didn't want showing up. The problem that surfaced was that the first column name would never show up, and the second column name would then be placed over the first. I have looked for solutions, where people might have had problems with BoundFields, but found nothing. So, I decided to do another solution, which works in this case.
I take the data set I was using and make a copy of it, remove the column I didn't want, and then add the selectable column.
I take the data set I was using and make a copy of it, remove the column I didn't want, and then add the selectable column.
Tuesday, July 11, 2006
String.Format
Source: http://idunno.org/displayBlog.aspx/2004071401
This is a cool and very useful feature in C#. If you need to convert something like a date value from a sql database and display it into a textbox, then this is what you were looking for, before, it would always put the time 12:00 AM in after the date.
Example:
DateOnly = new DateTime();
DateOnly = (DateTime)dr["DATE_APPROVED"];
this.TextBoxDate.Text = String.Format("{0:d}", DateOnly);
Here are some of it's formats and conversions
Formating Strings:
Formating Numbers:
Custom Formatting
Date-Time
This is a cool and very useful feature in C#. If you need to convert something like a date value from a sql database and display it into a textbox, then this is what you were looking for, before, it would always put the time 12:00 AM in after the date.
Example:
DateOnly = new DateTime();
DateOnly = (DateTime)dr["DATE_APPROVED"];
this.TextBoxDate.Text = String.Format("{0:d}", DateOnly);
Here are some of it's formats and conversions
Formating Strings:
| example | output |
|---|---|
| String.Format("--{1,10}--", "test"); | -- test-- |
| String.Format("--{1,-10}--", "test"); | --test -- |
Formating Numbers:
| specifier | type | format | output (double 1.2345) | output (int -12345) |
|---|---|---|---|---|
| c | currency | {0:c} | £1.23 | -£12,345.00 |
| d | decimal (whole number) | {0:d} | System.FormatException | -12345 |
| e | exponent / scientific | {0:e} | 1.234500e+000 | -1.234500e+004 |
| f | fixed point | {0:f} | 1.23 | -12345.00 |
| g | general | {0:g} | 1.2345 | -12345 |
| n | number | {0:n} | 1.23 | -12,345.00 |
| r | round trippable | {0:r} | 1.23 | System.FormatException |
| x | hexadecimal | {0:x4} | System.FormatException | ffffcfc7 |
Custom Formatting
| specifier | type | format | output (double 1234.56) |
|---|---|---|---|
| 0 | zero placeholder | {0:00.000} | 1234.560 |
| # | digit placeholder | {0:#.##} | 1234.56 |
| . | decimal point placeholder | {0:0.0} | 1234.6 |
| , | thousand separator | {0:0,0} | 1,235 |
| % | percentage | {0:0%} | 123456% |
Date-Time
| specifier | type | format | output (double 1234.56) |
|---|---|---|---|
| 0 | zero placeholder | {0:00.000} | 1234.560 |
| # | digit placeholder | {0:#.##} | 1234.56 |
| . | decimal point placeholder | {0:0.0} | 1234.6 |
| , | thousand separator | {0:0,0} | 1,235 |
| % | percentage | {0:0%} | 123456% |
| specifier | type | output (June 8, 1970 12:30:59) |
|---|---|---|
| d | Short Date | 08/06/1970 |
| D | Long Date | 08 June 1970 |
| t | Short Time | 12:30 |
| T | Long Time | 12:30:59 |
| f | Full date and time | 08 June 1970 12:30 |
| F | Full date and time (long) | 08 June 1970 12:30:59 |
| g | Default date and time | 08/06/1970 12:30 |
| G | Default date and time (long) | 08/06/1970 12:30:59 |
| M | Day / Month | 8 June |
| r | RFC1123 date string | Mon, 08 Jun 1970 12:30:59 GMT |
| s | Sortable date/time | 1970-06-08T12:30:59 |
| u | Universal time, local timezone | 1970-06-08 12:30:59Z |
| Y | Month / Year | June 1970 |
| specifier | type | output (June 8, 1970 12:30:59) |
|---|---|---|
| dd | Day | 08 |
| ddd | Short Day Name | Mon |
| dddd | Full Day Name | Monday |
| hh | 2 digit hour | 12 |
| HH | 2 digit hour (24 hour) | 12 |
| mm | 2 digit minute | 30 |
| MM | Month | 06 |
| MMM | Short Month name | Jun |
| MMMM | Month name | June |
| ss | seconds | 59 |
| tt | AM/PM | PM |
| yy | 2 digit year | 70 |
| yyyy | 4 digit year | 1970 |
| : | seperator, e.g. {0:hh:mm:ss} | 12:30:59 |
| / | seperator, e.g. {0:dd/mm/yyyy} | 08/06/1970 |
Monday, July 10, 2006
Convergence theory for nonconvex stochastic programming with an application to mixed logit
http://www.springerlink.com/(gy1xnqenspq0bc55yyftgd55)/app/home/contribution.asp?referrer=parent&backto=issue,1,18;journal,2,146;linkingpublicationresults,1:103081,1
Abstract Monte Carlo methods have extensively been used and studied in the area of stochastic programming. Their convergence properties typically consider global minimizers or first-order critical points of the sample average approximation (SAA) problems and minimizers of the true problem, and show that the former converge to the latter for increasing sample size. However, the assumption of global minimization essentially restricts the scope of these results to convex problems. We review and extend these results in two directions: we allow for local SAA minimizers of possibly nonconvex problems and prove, under suitable conditions, almost sure convergence of local second-order solutions of the SAA problem to second-order critical points of the true problem. We also apply this new theory to the estimation of mixed logit models for discrete choice analysis. New useful convergence properties are derived in this context, both for the constrained and unconstrained cases, and associated estimates of the simulation bias and variance are proposed.
Wednesday, July 05, 2006
On change event in ASP.Net
In ASP.Net the ontextchanged event doesn't get called until a postback, the problem we had was to ask the user before leaving the page, if they would like to save any of their changes that were made, and to enable the submit button if there were changes. We had to go to javascript, again, for this answer.
The first function: saveChanges() is called when ever the user tries to change the current page or close the browser. It just asks if they user wants to leave without saving.
The second function is called when ever a textbox, or other asp/html control has changed. This basically just enables the submit button.
So, within the page we might have a ASP.Net control like this:
Now, you would end up getting a warning in ASP.Net since it doesn't recognize the onchange event, since this is actually a javascript event. The trick here is when the page is render this is how it would look in the html:
<script language="javascript" type="text/javascript">
window.onbeforeunload = saveChanges;
function saveChanges()
{
var changes = document.getElementById("<%=this.ButtonSubmit.ClientID%>").disabled;
if(!changes)
{
event.returnValue = 'Changes were not saved. Click Cancel to go back and submit changes, or click OK to continue.';
}
}
function enableSubmit()
{
document.getElementById("<%=this.ButtonSubmit.ClientID%>").disabled = false;
}
</script>
The first function: saveChanges() is called when ever the user tries to change the current page or close the browser. It just asks if they user wants to leave without saving.
The second function is called when ever a textbox, or other asp/html control has changed. This basically just enables the submit button.
So, within the page we might have a ASP.Net control like this:
<asp:textbox id="TextBox1" runat="server" onchange="enableSubmit()" width="49px"><asp:textbox>
Now, you would end up getting a warning in ASP.Net since it doesn't recognize the onchange event, since this is actually a javascript event. The trick here is when the page is render this is how it would look in the html:
<input id="ctl00_ContentPlaceHolder1_TextBox1" style="WIDTH: 49px" onchange="enableSubmit()" name="ctl00$ContentPlaceHolder1$TextBoxNotes">
Subscribe to:
Posts (Atom)