|
Hi Everyone
Dont know if someone already asked this. I am doning a page that have quite a lot of postpacks in asp.net. My question is. When I am halfway down the page and do a postback the page return back to the top. Is there a way that I can tell it to go back to the section where the postback occured? (halfway down the page). Something similar like a bookmark in html that takes you to a specific place in that document.
Regards,
Elizma
|
|
|
|
|
Hi,
you can try MaintainScrollPositionOnPostback in the page section of the aspx page.
Eg:
<%@ Page Language="C#" ..... MaintainScrollPositionOnPostback=true .. %>
Gud Luck.
Deepak Surana
|
|
|
|
|
You could also look into using AJAX methods
only two letters away from being an asset
|
|
|
|
|
If you are using .net 1.1 use smart navigation by setting page argument smartnavigation to true.
<%@Page language="c#" Codebehind="test.aspx.cs" AutoEventWireup="false" smartNavigation="True"%>
Gg
|
|
|
|
|
Hi ,
I am displaying a pop-up on a click of a button in my page.
I want to close the pop-up on the click of a certain button in the pop-up as well as want to refresh the parent page as the pop up closes.
Plz help.
Thanks a ton
Deepak Surana
|
|
|
|
|
Look at window.opener
only two letters away from being an asset
|
|
|
|
|
Thanks a lot.
And one more question, how can i show a message saying something like "Saved" and then close the pop up after the user clicks on ok
Deepak Surana
|
|
|
|
|
alert('saved');
window.close();
Gg
|
|
|
|
|
Hi,
you have to add a attribute to that button during the page load event of the form that would call the popup .the code for that is like:
**********************************************
loginButton.Attributes.Add("onclick", "window.showModalDialog('/MyWebsite/login.aspx', null, 'status:no; dialogWidth:360px; dialogHeight:229px; help:no; scroll:no; menubar:no; resizable:no')");
***********************************************
This code is for modalDialog
or for popup
button.Attributes.Add ("onclick", "javascript: functiontoopenpopup();");
this will open the popup window.
In the popupwindow code....on the Page_unload you have to write this code.
*****************************************
window.close();
window.opener.location.reload();
*****************************************
This will close the popup and refresh the parent window.
Regards,
Kaps
|
|
|
|
|
Hi,
I have two DropDownLists that I want the value of each selection to be displayed on a secondary Label/Text field without posting back, like if I was using both, CascadingDropDown and DynamicPopulateExtender, over the same DropDownList.
I was wondering if that can be done with the ATLAS components or if I need to implement it in AJAX?
Does anyone know how can I implement this?
obs.: I'm already using the CDDs and they are working fine, I just need the selected value to be displayed on the Label/Text, every time the selection changes.
Thank you very much in advance.
Doug
|
|
|
|
|
Hello,
I have searched the online for a solution but have not been able to find something to meet my needs.
Right now, we have a process at work in which the someone needs to login to a web page and upload resumes to a web system owned by my company. It's a standard SSL secured web page, with a textbox for a login name and password.
They want me to write something that automates this process, so they can just click a button and have the login and submission done automatically.
I'm having trouble with the very first step: logging in. Everything that I have been finding online regarding screen scraping and credentials says that I should just send the information through by POSTing the login and password in the http headers, but does this work with a SSL web page?
What I really need to know how to do is simulate the entering of text boxes on a web page, and the clicking of the submission button. Is this possible with ASP.NET or C#?
Thanks!
|
|
|
|
|
If you write a windows app that uses the webBrowser control, you can auto populate text boxes and click buttons. I can give you some sample code if you are interested. I would need to know if this is in .net 1.1 or .net 2.0. It sounds like you are using C#.
Ben
|
|
|
|
|
Thank you so much! I am using .Net 2.0
|
|
|
|
|
Ok, there are several steps so I will try to make sure I don't forget any of them.
First you need a new windows app project
Next you need to add the webBrowser control on the form. It should show up on your tools bar. If not just right click on the tools bar and select choose item. Find the webBrowser in the dialog and add it.
Next you need to add a reference to a com dll.
Go to references in your solution explorer, right click add reference. Select the com tab and then find the Microsoft HTML Object library.
Next create a form load event or a button click event to launch this.
In the button click event add this code:
webBrowser1.DocumentCompleted +=
new WebBrowserDocumentCompletedEventHandler(CompleteDocument);
webBrowser1.Navigate(@"your url here");
You will need a documentcomplete event so you know when the page has loaded.
private void CompleteDocument(object sender,
WebBrowserDocumentCompletedEventArgs e)
{
HtmlElement he = null;
he = webBrowser1.Document.GetElementById("htmlinputnamehere");
if (he != null)
{
((mshtml.HTMLInputElementClass)he.DomElement).value = "setthetext";
}
he = webBrowser1.Document.GetElementById("htmlinputnamehere2");
if (he != null)
{
((mshtml.HTMLInputElementClass)he.DomElement).value = "setthetext2";
}
he = webBrowser1.Document.GetElementById("htmlbuttonnamehere");
if (he != null)
{
((mshtml.HTMLInputElementClass)he.DomElement).click();
}
}
You can view source of your web page to see what the input text boxes are along with what the button name is so the code will work.
NOTE since the documentComplete event happens each time the page loads you may need to keep track of when you want certain code to run.
Anyway, that should give you enough to start.
Ben
|
|
|
|
|
This seems like exactly what I've been needing. I tried to do something very similar with Javascript, but was held back with security restrictions between frames and pages. I didn't realize C# and ASP.NET could work with the web page elements like this. I'll try this out as soon as I can. Thank you very much for the help!
|
|
|
|
|
If you're going through the trouble of creating a Windows App you might as well use WebRequest/WebReponse objects, no need to implement a web browser.
only two letters away from being an asset
|
|
|
|
|
I haven't really found anything in WebRequest/WebResponse that would let me simulate entering data in a text box. I find a lot of information about sending POST data and HTTP headers, but the things I find don't seem to apply because I am trying to send information through a SSL secured webpage (such as Gmail, or any sort of similar login system).
|
|
|
|
|
You don't need to enter anything in the textbox. One of the properties of WebRequest is Credentials, supply the proper crendentials here and post your data.
only two letters away from being an asset
|
|
|
|
|
I tried using this but couldn't get it to work. I'll try again, more extensively, using my gmail account to test, but this doesn't make sense to me on a conceptual level. How would the Credentials property of Webrequest know how to interface with the Gmail login, or the Yahoo login, or any specific login. Doesn't the login system rely heavily on implementation?
|
|
|
|
|
Think about it a little more. When you fill in a login form and click the submit button what is happening? A request is made to the server to validate the crendtials provided in the textboxes. The texboxes themselves are not sent.
only two letters away from being an asset
|
|
|
|
|
Here's what happens in my mind: I enter the username and password, click submit, the following is sent to their servers (encrypted):
POST /login.jsp HTTP/1.1
Host: www.mysite.com
User-Agent: Mozilla/4.0
Content-Length: 27
Content-Type: application/x-www-form-urlencoded
userid=joe&password=mypassword
From there, they work their magic on the userid and password to authenticate the user, and send a reply to the client that says A'Okay.
What I am getting help up on is what I am sending from my client to the server. I know that only the text is sent, not the actual text boxes, but what if Gmail needs the data in the format:
userid=joe&password=mypassword
while Yahoo needs:
USERNAME=joe&PASSCODE=mypassword
If that's the case, how does ASP.NET know what format to send the data in for different pages?
|
|
|
|
|
Hi,
I try to dynamically build URL to navigate:
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# BuildURLAdding() %>' >Add new </asp:HyperLink>
which uses function in my codebehind file:
protected string BuildURLAdding()
{
return @"~/PROTECTED/Annotations/AnnotationsList.aspx?ClientID=" + Request.Params["IDClient"];
}
But this is invalid (the link is un-clickable, which means that the 'NavigateUrl' was wrongly specified). Where could be a mistake?
I checked the page directive and there is everything ok:
<%@ Page Language="C#" MasterPageFile="~/SiteMaster.Master" AutoEventWireup="true"
Codebehind="AnnotationsList.aspx.cs" Inherits="Mercedes.PROTECTED.Annotations.AnnotationsList"
Title="Untitled Page" %>
Thank you very much in advance
-- modified at 14:30 Monday 21st May, 2007
|
|
|
|
|
How do you specify the NavigateUrl?
If you paste markup code, use the "Ignore HTML" option.
---
single minded; short sighted; long gone;
|
|
|
|
|
You need to resolve the url, not use "~". I assume the BuildURLAdding method is used to assign the NavigateURL property?
only two letters away from being an asset
|
|
|
|
|
I`m terribly sorry - my message wasn`t correctly posted. I have modified it already, this is correct form:
Hi,
I try to dynamically build URL to navigate:
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# BuildURLAdding() %>' >Add new </asp:HyperLink>
which uses function in my codebehind file:
protected string BuildURLAdding()
{
return @"~/PROTECTED/Annotations/AnnotationsList.aspx?ClientID=" + Request.Params["IDClient"];
}
But this is invalid (the link is un-clickable, which means that the 'NavigateUrl' was wrongly specified). Where could be a mistake?
I checked the page directive and there is everything ok:
<%@ Page Language="C#" MasterPageFile="~/SiteMaster.Master" AutoEventWireup="true"
Codebehind="AnnotationsList.aspx.cs" Inherits="Mercedes.PROTECTED.Annotations.AnnotationsList"
Title="Untitled Page" %>
Thank you very much in advance
|
|
|
|