Differences between the three methods for outputting JavaScript scripts in ASP. net cs files: asp. netjavascript

Source: Internet
Author: User

Differences between the three methods for outputting JavaScript scripts in ASP. net cs files: asp. netjavascript

Differences between Response. Write and Page. ClientScript. RegisterStartupScript and Page. ClientScript. RegisterClientScriptBlock

 

Method 1Using Response. Write, this method will Write the JS Code at the top of the page (before System. Web. HttpContext. Current. Response. Write ("<script language = javascript> alert ('js Code'); </script> ");

Method 2Use RegisterStartupScript. This method will embed the JS Code at the bottom of the page and before the form (</form>). This method is applicable to the JS Code to run after the page control is loaded:
System. Web. UI. Page page = (System. Web. UI. Page) System. Web. HttpContext. Current. Handler;
If (! Page. ClientScript. IsStartupScriptRegistered (page. GetType (), "clientScript "))
Page. ClientScript. RegisterStartupScript (page. GetType (), "clientScript", "<script language = javascript> alert ('js Code'); </script> ");

Method 3Use RegisterClientScriptBlock. This method embeds the JS Code at the top of the page and at the beginning of the form (<form>). This method is applicable to the JS code to be executed before the control is loaded, similar to the Response. write method:
System. Web. UI. Page page = (System. Web. UI. Page) System. Web. HttpContext. Current. Handler;
If (! Page. ClientScript. IsClientScriptBlockRegistered (page. GetType (), "clientScript "))
Page. ClientScript. RegisterClientScriptBlock (page. GetType (), "clientScript", "<script language = javascript> alert ('js Code'); </script> ");

 

So what is the difference between method 2 and method 3? The main difference is that,RegisterStartupScriptThe method is to embed JavaScript into the bottom of the ASP. NET page, which is exactly at the end of the element.</Form>.RegisterClientScriptBlockThe method is to embed JavaScript into the page to enable elements.<Form>. So what's the difference? As we will see, this is a big difference.

Here is an example. Here is how to focus on a text box on the page when the page is loaded to the browser-UseRegisterStartupScriptVisual Basic of the method:

<Span> when the browser runs at the bottom of the page and executes the JavaScript code, the text box on the page is generated and placed on the page. Therefore, this method runs normally. However, if you do not follow the above method, write the following code (UseRegisterClientScriptBlockMethod ):

<Span> the text box control does not get the focus and generates a JavaScript error on the page.


Javascript script embedded in the aspnet cs File

The double quotation marks in JavaScript are the same function. You can change the double quotation marks in JavaScript to single quotation marks, while the CS file must use double quotation marks.

How does aspnet use javascript or HTML to call methods in CS files?

What if VS version 2003 does not support AJAX ??
There are 4 methods in my favorites, but I basically use the first method.

Execute functions in C # code in javaScript Functions:
Method 1: 1. Create a button to write the called or processed content to button_click in the background;
2. Write a js function on the front-end with the content document. getElementById ("btn1"). click ();
3. Call js functions on the frontend or backend to stimulate the click event, which is equivalent to accessing the c # function in the background;

Method 2: 1. function declaration is public
Background code (change public to protected)
Public string ss ()
{
Return ("");
}
2. You can call <% = fucntion () %> in html.
Foreground script
<Script language = javascript>
Var a = "<% = ss () %> ";
Alert ();
</Script>
Method 3: 1. <script language = "javascript">
<! --
Function _ doPostBack (eventTarget, eventArgument)
{
Var theForm = document. Form1; // indicates the form of runat = server.
TheForm. _ EVENTTARGET. value = eventTarget;
TheFrom. _ EVENTARGUMENT. value = eventArgument;
TheForm. submit ();
}
-->
</Script>
<Input id = "Button1" type = "button" name = "Button1" value = "button" onclick = "javascript :__ doPostBack ('button1','') ">

Method 4: <script language = "javascript">
Function SubmitKeyClick ()
{
If (event. keyCode = 13)
{
Event. cancelBubble = true;
Event. returnValue = false;
Document. all. FunName. value = "Name of the function you want to call ";
Document. form [0]. submit ();
}
}
</Script>

<INPUT onkeypress = "SubmitKeyClick ()" id = "aaa" type = "text">
<Input type = "hidden" name = "FunName"> <〈! -- Used to store the function you want to call --> --〉

In. CS, there are:
Public Page_OnLoad ()
{
If (! Page. IsPost ())
{
String strFunName = Request. Form ["FunName"]! = Null? Request. Form ["FunName"]: "";
// Decide which one to call based on the value passed back... the remaining full text>

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.