I need to generate unique identifiers for html elements in asp.net mvc application. 
In classic asp.net i could use 

```
<a id=<%=ClientID>%>

```

Is there some analog in asp.net mvc world ?

**UPDATE:**

For example, I want to make a reusable Button element. I would perfer code to look similar to 

```
<div class="myButton" id="<%=ClientID%>">
<script>
  var button = document.getElementById(<%=ClientID%>);
  button.onclick = ....
</script>

```

If ClientId is not available then what is the best way to follow ?
For now, I see two options - to generate it like **Guid.NewGuid()** or pass id from the outside ? Any other options ?

**UPDATE:**
For now, I've come to following solution

```
    public static string UniqueId(this HtmlHelper html)
    {
        var idGenerator = html.ViewContext.HttpContext.Items[typeof (UniqueIdGenerator)] as UniqueIdGenerator;
        if (idGenerator==null)
            html.ViewContext.HttpContext.Items[typeof (UniqueIdGenerator)] = idGenerator = new UniqueIdGenerator();
        return idGenerator.Next();
    }
       ...
    private class UniqueIdGenerator
    {
        private int id;

        public string Next()
        {
            id++;
            return "_c" + id; // todo: optimize
        }
    }

```