Solved

Javascript from ASP.NET code behind

Posted on 2009-05-06
1
1,090 Views
Last Modified: 2012-05-06
I want to a confirm popup box using javascript in my asp.net page using Page.RegisterClientScriptBlock (or similiar) . Here is how I want it to work.

when the user click "submit" button,  it should check that selectedindex on one of the dropdown is > 0. If so show a confirm pop up. If Ok is pressed continue with the next step and if cancel is pressed return. It would be nice if the javascript checks for the selectedindex of drop down rather then doing it via the code. I want all this done in the code behind and not on the html side of the form.
Thanks in advance.
0
Comment
Question by:pratikshahse
1 Comment
 
LVL 1

Accepted Solution

by:
CJMilner earned 500 total points
ID: 24321431
I think I understand what you're asking for, how about this.

This example only alerts the textbox but I'm sure you can write the Javascript to check the dropdown box. If not, let me know and I'll help. This example an anonymous function will execute "onreadystatechange" of the page, that way you're giving the page time to load the controls and not get a JS Object Not Found error or null reference.

Without knowing more about how you're storing data between steps and how you're getting to your next step ignoring the drop down logic I can't really help much with the next step forwarding.

Perhaps you could load the contexts of the form into a session array before executing the code behind below? in essense saving the data before checking the drop down, that way on the next page you have the previous page's data. Moving to the next page could be achieved through the javascript: window.location.href='page.aspx'; assuming the confirm is OK and not Cancel. If cancel, just return and page would not move, just essentially reload (or do nothing if the ajax is used). You could easily throw an alert if cancel is checked if you needed to communicate with the user.

First mark up will work without a page refresh as it's using an update panel (ajax), the third code block below is going to do a round trip to the server and reload the entire page. Your call what to use.

Hope all this makes sense!
Cheers
CM
//ASP.NET Markup with AJAX UpdatePanel and Script Manager
    <asp:ScriptManager runat="server" ID="S1"></asp:ScriptManager>
        <asp:UpdatePanel ID="UpdatePanel1" runat="server" ChildrenAsTriggers="true">
        <Triggers>
            <asp:PostBackTrigger ControlID="Button1" />
        </Triggers>
        <ContentTemplate>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
            UseSubmitBehavior="False" />
      </ContentTemplate></asp:UpdatePanel>
 
 
//Code behind 
protected void Button1_Click(object sender, EventArgs e)
    {
        Page.RegisterClientScriptBlock
            ("block1","<script type=\"text/javascript\">document.onreadystatechange=function() {alert(document.getElementById('"+TextBox1.ClientID+"').value);}</script>");
    }
 
 
//Third Code block; Not AJAX
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:Button ID="Button1" runat="server" onclick="Button1_Click" Text="Button" 
            UseSubmitBehavior="False" />

Open in new window

0

Featured Post

Announcing the Most Valuable Experts of 2016

MVEs are more concerned with the satisfaction of those they help than with the considerable points they can earn. They are the types of people you feel privileged to call colleagues. Join us in honoring this amazing group of Experts.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

I recently went through the process of creating a Calendar Control of events with the basis of using a database to keep track of the dates that are selectable, one requirement was to have the selected date pop-up in a simple lightbox.  At first this…
In an ASP.NET application, I faced some technical problems. In this article, I list them out and show the solutions that I found.  I hope it will be useful. Problem: After closing a pop-up window, the parent page should be refreshed automaticall…
Established in 1997, Technology Architects has become one of the most reputable technology solutions companies in the country. TA have been providing businesses with cost effective state-of-the-art solutions and unparalleled service that is designed…
Although Jacob Bernoulli (1654-1705) has been credited as the creator of "Binomial Distribution Table", Gottfried Leibniz (1646-1716) did his dissertation on the subject in 1666; Leibniz you may recall is the co-inventor of "Calculus" and beat Isaac…

828 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question