|
I will just try backing out until it works (hopefully). Thanks for checking for me, btw. I think it might be related to the form tag then.
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
|
|
|
|
|
Your html head is marked as runat server, does that mean AddInputFile is running at the server?
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
|
|
|
|
|
ASP.NET will autogenerate a name element for all controls created on the server-side and the HTML spec, http://www.w3.org/TR/html4/interact/forms.html#successful-controls[^], states the name is required for Successful controls and only successful controls are required to be posted back.
To make it weird it seems browser agents still group by id for a post so input elements with the same id are submitted if at least one has a name? Neat. So, if you want to dynamically generate input elements in client-side java script you must include the name attribute in the input element tag!
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
|
|
|
|
|
Hi All,
We currently use our own authentication scheme for our ASP.Net applications. However, we now investigation using Forms Authentication so we can take advantage of some the personalization and web parts functionality in .Net 2.0.
Is it possible, on a single web server, to have a single login virtual directory that contains the login page, but require each user to authenticate to each application. Example
| web server root
|
| - Application1
|
| - default.aspx
|
| - Application2
|
| - default.aspx
|
| - Login
|
| - login.aspx
So, basically, is this scenario possible using forms authentication. I've been trying and seem to get in a loop. I access application1, it redirects to the login page, authenticates OK, redirects back to application1, but it takes me back to the login page.
Any help would be greatly appreciated.
Regards,
Robert
-- modified at 18:26 Wednesday 18th October, 2006
|
|
|
|
|
The problem here IMO is that the Login.aspx web page is located outside the boundary of the web application such as application1, so the authentication ticket generated does not have meaning to the application1 and as a result of that the application1 refuses to access its web page. What you might need to do is to configure so that the authentication cookies can be used across the application boundary, for more details you can see Forms Authentication Across Applications[^]
Also, you require the authentication for each application, not for all, so the name of the authentication cookie should be dynamically set in the Login page depending on which application is currently accessed.
|
|
|
|
|
Hi,
Still haven't been able to get it to work... I've tried changing the cookie name in code dynamically but the properties I've trying to use are read-only. Which property should I be setting in code?
Here is the Login virtual directory web.config:
<authentication mode="Forms"><br />
<forms loginUrl="/FALogin/Login.aspx" name="Login" protection="All" path="/" <br />
timeout="30" enableCrossAppRedirects="true"><br />
</forms><br />
</authentication><br />
<authorization><br />
<allow users="?" /><br />
</authorization><br />
<machineKey validationKey="C50B3945949462D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" <br />
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" <br />
validation="SHA1" />
Here is the Application 1 virtual directory web.config:
<authentication mode="Forms"><br />
<forms loginUrl="/FALogin/Login.aspx" name="Application1" protection="All" path="/" <br />
timeout="30" enableCrossAppRedirects="true"><br />
</forms><br />
</authentication><br />
<authorization><br />
<allow users="?" /><br />
</authorization><br />
<machineKey validationKey="C50B3945949462D0E8DB8CB5CDA1742572A487D9401E3400267682B202B746511891C1BAF47F8D25C07F6C39A104696DB51F17C529AD3CABE" <br />
decryptionKey="8A9BE8FD67AF6979E7D20198CFEA50DD3D3799C77AF2B72F" <br />
validation="SHA1" />
Thanks.
Robert
|
|
|
|
|
+ The FormsAuthentication.FormsCookieName Property is read-only , so you cannot set this property in code. In this case, you can manage to add the authentication ticket on your own, the sample code can be found from here[^].
+ So basically, you'll have a web.config file for each application, and one web.config with the same settings at root. At the first step, you can simply set the name property of the forms entry in the web.config file both at root and at the application level identically, and see how it works. Then to make it work for multiple applications with a single login web page at the web server root, you need to manage to add the cookie on your own in code with the cookie name depending on the application being accessed by the user.
|
|
|
|
|
how i can run an exe file on asp.net c# ?
|
|
|
|
|
You can't. You CAN, but it will run on the server, not the client. You have to get them to down load the file and run it themselves, and they probably won't be able to do it without unblocking it.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Hi,
This may be a very common task that many websites carry out, but I dont seem to find a proper solution for the same. Pls help me out
I have a webpage with a datagrid and stuff and 3 buttons. On the click of 2 out of those 3 buttons, I know that the processing time taken at backend is longer, so I need to change the mouse pointer to Hourglass so that none of the buttons are clickable, whereas when the processing is over and screen is updated with new data, I need to show default mouse pointer to the user.
The basic problem what I see here, is that, Because the Client side page rendering doesn't start before server side code is run through, how do you set 2 different cursors at the start of event and then at the end of that event.
Pls Guide me.. I am totally confused, whether this is even possible.
Thanks.. Waiting for ur scholarly reply.
Omkar
|
|
|
|
|
|
Basically I have created a Web page that allows our users to type in their IP address and their user name and click a button. The page then calls a .bat file which calls a .vbe file, and so on. The end result is that the users computer will be unlocked. I've tested the above page many times on my computer and it works, but once I put it on the webserver and rebuilt it, it does nothing. Even from the webservers own browser it does nothing. We have enven tried to give all access to all users, still nothing. You click the button and the page flashes and sits there. Is it possible the code behind has lost association with the event? If so how can I repair? Any help on this confusing issue is appricated.
Thanks,
Zach
|
|
|
|
|
You are unlocking the server, not the client. When you run it locally on your own computer it works, as it's acting both as server and client.
---
b { font-weight: normal; }
|
|
|
|
|
When I run it from my computer I can unlock other users across the network, not just my local machine.
|
|
|
|
|
Zach Burnett wrote: The page then calls a .bat file which calls a .vbe file, and so on.
Maybe I could be a bit more helpful by addressing what exactly the .bat and .vbe files are doing.
the first .bat file is used to pass the IP and User Name to the .vbe file
the .vbe file creates a connection to the remote computer using the administrator credentials, and then calls another .bat file
this .bat file passes the IP and User Name to the final .vbe
the final .vbe updates the lockout tag and unlocks the users pc
Process works great when using an access database that had been used. I am just trying to remove the access database because they were having to be updated manually at the sites where they were installed, which you could guess is not being done.
Hope that made it a bit more clear as to what's going on.
Zach
|
|
|
|
|
Guffa is right - it works when the machine you're browsing on is the server.
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
Oh. Well darn it. I thought that by running it from the server the server would call the scripts and send it out through the network sort of like it does when I run it from thet access database. So if it can't work like that any ideas on another approach I could take?
Thanks,
Zach
|
|
|
|
|
I'm also curious as to why it will not work. The way I was thinking was that once unlock was clicked and code executed on the server the server would call the the files that are in the drive which would take over away from the actual page and run like it did in the access program. Can someone point out my flaw please?
Thanks
Zach
|
|
|
|
|
This is a surprisingly difficult problem to find any resources on the internet about so hopefully someone here has a pointer on what to do.
I have many forms with a series of input fields.
They have to be in this format:
Label1:
Input field1
Label2:
Input field2
I.E. they have to be label on top of input field, not side by side due to localization and RTL/LTR locale issues.
The problem is spacing the label/inputfield pairs from each other.
If I put a <br> after the input field, I get a nice separatation in IE, a full blank line between them as in the way I typed it above, in FireFox or Opera though, I get no blank line separation, the second label appears directly beneath the first input field:
Label1:
InputField1
Label2:
InputField2
If I double up on <br> tags then it looks nice in Opera and FF but doublespaced in IE which is bad.
I know I could resolve this with a block level element, I.E. put each pair in a div, but I have 3 columns of these label/input pairs on most forms and anywhere from 5 to a dozen pairs on each form so I'm not sure if this is the optimal way to do it.
Any suggestions appreciated.
|
|
|
|
|
Can't you use CSS to specify a spacing that will then apply to all controls of the same type ?
Christian Graus - Microsoft MVP - C++
Metal Musings - Rex and my new metal blog
|
|
|
|
|
I took a look after reading your post, it seems that line-height is the most likely candidate for that and I've looked at line-height being defined for labels, but then I also use other controls that contain labels, so I guess I would have to make it a class then apply it only to the ones I want, which in turn results in more code. Someone else is in charge of styling the controls and I don't want to break what they've done, but I guess if I just mess with that one line-height setting the rest won't be obliterated from the theme.
I've also noticed a lot of samples where the author just puts a < P > tag at the start of a pair of items like in my example, that works, but not sure how kosher it is to do it that way and the spacing is greater than the < BR > tag that IE creates.
|
|
|
|
|
Make both the label and the input field into block elements, that way you don't have problems with the line breaks (that works a bit funny in IE).
If you put an element around the tags, you can address them from css:
<div class="FormItem"><br />
<label>Label1:</label><br />
<input type="text" name="InputField1" /><br />
</div>
In the css you might want to do something like:
.FormItem { margin: 5px 0; }<br />
.FormItem label { display: block; }<br />
.FormItem input { display: block; }
---
b { font-weight: normal; }
|
|
|
|
|
I was hoping for something with a little less work involved, but your solution seems the best and is more future proof as well.
I made a div css class that wraps each pair of label/input in that div and set the div to have bottom padding.
thanks for your help.
Cheers!
|
|
|
|
|
<ul>
<li>
<span class="label">Label 1</span><input .../>
</li>
</ul>
This will allow your style sheet to completely dictate the layout.
On two occasions I have been asked [by members of Parliament], 'Pray, Mr. Babbage, if you put into the machine wrong figures, will the right answers come out?' I am not able rightly to apprehend the kind of confusion of ideas that could provoke such a question. - Charles Babbage
|
|
|
|
|
I've ended up doing something similar with divs that wrap the label and input pairs then defined some bottom padding in the div.
Thank you for the reply.
Cheers!
|
|
|
|