Solved

Need a recommendation for ASPX code – a message to the user.

Posted on 2013-01-05
5
289 Views
Last Modified: 2013-01-05
Dear experts

I’m a professional programmer with 10+ years in business, but new to ASPX coding and need little help. When my user click on Submit button I do some check with such kind of code:
            if (byteState == 2)
            {
                Page.RegisterStartupScript("codice", "<script>alert('User with such email already extist! Probably this mean that this user is already register and do not need new registration!');</" + "script>");
                txtMail.Focus();
                return;
            }

It works, but I get warning that this metod is decprated. Could you recommended me what code I should use? Also, please give me example how I’m possible to show new line in the message.

 Other metod I use for message to the customer is with this code:
                    CustomMessage = "alert('Unexpected error in spUsers save record to local DB');";
                    ScriptManager.RegisterStartupScript(this, this.GetType(), "CustomMessage", CustomMessage, true);

It is provided from this library:
<%@ Register assembly="AjaxControlToolkit" namespace="AjaxControlToolkit" tagprefix="asp" %>

Is this a good option? It look to me that it require to load a whole script library between 10 and 15 kb. In size, is that true???

 My primary dermands is
1)      To use a standart commands, which will be supported in next 5 years from all WEB brousers.
2)      To save internet traffic.
0
Comment
Question by:dvplayltd
  • 2
  • 2
5 Comments
 

Expert Comment

by:alhalama
ID: 38746943
You can accomplish this without the AJAX Extensions by using a Literal on your page that you can put script into:

<Literal runat="server" EnableViewState="false" id="javaScriptPlaceHolder"/>

In code you would then set the text of the Literal to be your script:

javaScriptPlaceHolder.Text = CustomMessage;

To control when you show the script you can either move it on the page or put it within a function that you call from the onload event of the body.
0
 

Author Comment

by:dvplayltd
ID: 38746987
Do not seem very practical ... how, where to move code? I prefer to use a solution in c# code only.
0
 

Assisted Solution

by:alhalama
alhalama earned 100 total points
ID: 38747133
It doesn't seem very practical to show an alert to a user from C# code at all since that is running on the server and this is disconnected from the client.  How many websites do you see that actually show alerts?  Wouldn't it be better to display a message to the user in the page in which case you wouldn't need to dynamically generate JavaScript at all.

If you still want a C# only solution, you could create a Literal control in code and add it to the pages control collection and it will be at the end of your page.  Note that you will want to make sure that you set EnableViewState to false or set the Text before adding the control to the pages controls collection to avoid having extra data being stored in ViewState.

As far as your current method being deprecated an needing to work in all web browsers for five years, consider what is deprecated and what is running on the server.  The method to register the client side script is a server side method so it relies on the .NET assemblies that you put on the web server and those will continue to work as long as you don't upgrade the assemblies used by your application on the server.  As far as what is running in the client (web browser), it is the script that you dynamically generate plus some other script to call your script at the appropriate time.

I would recommend taking time to learn the platform that you are on and understand what you are doing.
0
 
LVL 18

Accepted Solution

by:
dj_alik earned 400 total points
ID: 38747194
Answers:
1.Replace  Page.RegisterStartupScript to Page.ClientScript.RegisterStartupScript:
ClientScriptManager Class
2.How to alert multiline in RegisterStartupScript?
0
 

Author Closing Comment

by:dvplayltd
ID: 38747515
To alhalama

"I would recommend taking time to learn the platform that you are on and understand what you are doing. "

 You are damm right, but who and for what have enoght time to go to details??? In our world where the final result should be done for impossible short time ...

To dj_alik

Your answer is very precise, thank you! I'll use it.
0

Featured Post

Threat Intelligence Starter Resources

Integrating threat intelligence can be challenging, and not all companies are ready. These resources can help you build awareness and prepare for defense.

Join & Write a Comment

Suggested Solutions

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…
A quick way to get a menu to work on our website, is using the Menu control and assign it to a web.sitemap using SiteMapDataSource. Example of web.sitemap file: (CODE) Sample code to add to the page menu: (CODE) Running the application, we wi…
This video discusses moving either the default database or any database to a new volume.
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

706 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

19 Experts available now in Live!

Get 1:1 Help Now