Мне нужно создать уникальные идентификаторы для html-элементов в приложении asp.net mvc. В классическом asp.net я мог бы использовать
<a id=<%=ClientID>%>
Есть ли какой-нибудь аналог в мире asp.net mvc?
UPDATE:
Например, я хочу создать многократно используемый элемент Button. Я бы передал код, похожий на
<div class="myButton" id="<%=ClientID%>">
<script>
var button = document.getElementById(<%=ClientID%>);
button.onclick = ....
</script>
Если ClientId недоступен, тогда как лучше всего следовать? На данный момент я вижу два варианта: генерировать его как Guid.NewGuid() или передавать идентификатор извне? Любые другие варианты?
UPDATE: На данный момент я пришел к следующему решению
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
}
}