Solved

Javascript from ASP.NET code behind

Posted on 2009-05-06
1
1,079 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
Comment Utility
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

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Just a quick little trick I learned recently.  Now that I'm using jQuery with abandon in my asp.net applications, I have grown tired of the following syntax:      (CODE) I suppose it just offends my sense of decency to put inline VBScript on a…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Get a first impression of how PRTG looks and learn how it works.   This video is a short introduction to PRTG, as an initial overview or as a quick start for new PRTG users.
This video gives you a great overview about bandwidth monitoring with SNMP and WMI with our network monitoring solution PRTG Network Monitor (https://www.paessler.com/prtg). If you're looking for how to monitor bandwidth using netflow or packet s…

763 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

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now