SetVar element (View)

Applies to: SharePoint 2016 | SharePoint Foundation 2013 | SharePoint Online | SharePoint Server 2013

Allows variables to be set in the context of rendering the page—either locally to the current level of XML or globally to the page.

  ID = "Text"
  Name = "Text"
  Scope = "Request"
  Value = "Text">

Elements and attributes

The following sections describe attributes, child elements, and parent elements.


Attribute Description
Optional Text. Provides an ID for the variable.
Required Text. Specifies a name for the variable.
If set to Request, the variable is global.
Optional Text. Can be used to assign a value to the variable when this is an empty element.

Child elements


Parent elements



  • Minimum: 0
  • Maximum: Unbounded


The SetVar element has both a spanning and a non-spanning form, so that <SetVar Name="MyVar">Announcements</SetVar> would be the same as <SetVar Name="MyVar" Value="Announcements/>.

If Scope="Request" is specified in the SetVar element, a variable assignment takes effect anywhere in the current page. Otherwise, the assignment affects only children of the SetVar element.

The SetVar element is often a child to a Method element used in batch processing of requests.

The SetVar element is frequently used to change the display mode by setting DisplayMode to one of the following values.

|**Value**|**Description**| |:-----|:-----| |**DISPLAY**
|Used when rendering the **ViewBody** section of a view.
| |**EDIT**
|Used when rendering an edit item form.
|Used when rendering the **ViewHeader** section of a view.
| |**NEW**
|Used when rendering a new item form.
|Used when editing a display form with Microsoft FrontPage.
|Used when editing a new item form with FrontPage.
|Used when editing an edit item form with FrontPage.
| ## Examples

The following example illustrates using the SetVar element to set global scope for a variable. The second line returns the value set in the first line.

<SetVar Name="GlobalVar" Scope="Request">Value</SetVar>
<GetVar Name="GlobalVar">

In the following example, the first GetVar element returns Value_2 and the second GetVar element returns Value_1 because the SetVar element that contains Value_2 applies only to children of the Sample element. Value_2 goes out of scope after the closing Sample tag.

<SetVar Name="myVar">Value_1</SetVar>
      <SetVar Name="myVar">Value_2</SetVar>
      <GetVar Name="myVar"/>
   <GetVar Name="myVar"/>

The following example evaluates whether a field is required and, if it is required, creates the red asterisk (*) that is displayed beside required fields in New or Edit forms and sets the HasRequired variable to TRUE.

      <Property Select="Required"/>
   <Case Value="TRUE">
      <HTML><![CDATA[<font color=red> *</font>]]></HTML>
      <SetVar Scope="Request" Name="HasRequired">TRUE</SetVar>

See also