What is the difference between a script tag with and without a runat=server attribute
Asked Answered
D

2

5

What is the difference between <script runat="server"> and <script> ?

Diligence answered 24/1, 2014 at 8:20 Comment(0)
P
6

When you add runat="server" attribute the tag will become available in server side code like any other asp.net control.

Then you will be able to manipulate/add c#/javascript code within the blocks directly.

If you don't add the runat attribute you will be able to only have client side scripting.

Pyongyang answered 24/1, 2014 at 8:28 Comment(1)
Mmmm, except for the <script> tag. AFAICT you cannot mark a <script> tag as runat="server" and treat it like an opaque HTML object (e.g., referencing it by ID from the code behind). For instance: <script ID="conditional" runat="server" src="lib/conditionalcode.js"></script> And then, from code behind: conditional.Visible = False /* Invalid! */Laxation
B
6

The runat="server" tag tells the .NET compiler to execute the tag on the server. it can be added to any html tags which make them available on server side code.

eg if you declare a div like so:

<div runat="server" id="mydiv"></div>

from the code behind you can do this:

mydiv.Visible = false;

<script runat="server"> is used to include server-side code (C# or VB.NET) on the aspx or ascx file without having to add a code-behind (.cs) file.

This article has some info: http://msdn.microsoft.com/en-us/library/f0111sbh(v=vs.100).ASPX


<script> is used in order to include client-side code (usually javascript)

http://www.w3schools.com/tags/tag_script.asp

Biogen answered 24/1, 2014 at 8:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.