2010-07-13 3 views
5

Исходя из мира HTML, XML и PHP, это новый способ мышления при создании веб-приложений с использованием ASP.NET. Я хотел бы использовать следующий код в моем MasterPage:Соглашение о присвоении имен в ASP.NET?

<div id="leftnav"> 
    <asp:ContentPlaceHolder ID="leftnav" runat="server"> 
    </asp:ContentPlaceHolder> 
</div> 

Но поскольку leftnav в этом примере используется дважды, Visual Studio сделать небольшой, но заметный протест. Как я должен думать в этой ситуации и который является наиболее подходящим использованием идентификаторов имен в ASP.NET.

Мне не нравится имя по умолчанию, так как id="ContentPlaceHolder1" ничего не говорит о содержании.

Благодарим за внимание!

+0

вам действительно нужно дать Див идентификатор ли? Кстати, я предпочитаю давать элементы управления идентификатору, который дает вывод его типу, т. Е. DivLeftNav, CphLeftNav или TxtLeftNav. –

+4

@Tim Schmelter: учитывая вопрос, не могли бы мы просто предположить, что есть причина, по которой OP это нуждается ...? в конце концов, это не редкость, когда нужны идентификаторы. –

+0

Общая идея состоит в том, чтобы сделать простой стиль страницы, используя leftnav в качестве ссылки для моей таблицы стилей, где #leftnav {float: left; ширина: 190 пикселей; } и #content {margin-left: 200px; }. Возможно, я думаю, что здесь все неправильно, так как я новичок в ASP :) –

ответ

8

Я бы назвал div «nav» и заполнителем «navPlaceholder». Это связано с тем, что слово «left» означает позицию , которую нужно обрабатывать солей css, а не ваш html. Что, если дизайнеры решили, что они хотят перевести навигацию вправо? Вы могли бы сделать это в своем css, но в итоге вы столкнетесь с чем-то запутанным, как div #lefnav { float:right; }, тривиальным примером, я знаю, но что-то нужно иметь в виду.

+1

разумный подход. +1 для разделения наших проблем –

+0

Thanx Daniel. Я изменил имена на globalNav, localNav и addNav, чтобы лучше описать его контент, а не стиль или позицию. С уважением, –

3

Как насчет "leftNavPlaceHolder"?

Подобно тому, как вместе, как ваши в соответствии с вашим именованием :)

1

Я хотел бы предложить, не дает идентификатор Div, если вы на самом деле не нужны, потому что это будет влиять на производительности.

+0

11 дополнительных символов отправляются клиенту? обратите внимание, что DIV не является 'runat =" server ". OP говорит о * smallbut примечательный протест * в дизайнере - не ошибка компиляции =) –

+0

Я обращаюсь к целым элементам управления html id не для одного ID –

+0

Я думаю, если у вас много html на странице, и вы unnessceraly id, это окажет влияние на производительность, хотя и незначительно. –

1

Субъективные. Очевидный ответ на этот вопрос: выберите то, что вам нравится; стандартизировать его и всегда следовать ему.

Лично я называю свои вещи следующим образом:

<asp:Literal runat="server" ID="ltlDescriptionOfContent" /> 

или

<asp:PlaceHolder runat="server" ID="plhSendMessage"> 
</asp:PlaceHolder> 

Для области, которая содержит, да, информацию о передаче сообщений. Но вам не обязательно это делать. Делай что хочешь. Просто сделайте это последовательным. И в идеале, передайте небольшую информацию о том, что находится внутри.

+0

Это хороший способ мышления, как и обычные соглашения об именах C#. Я просто подумал, что вокруг существует простая конвенция об именах, которую каждый использует. Спасибо за ваш ответ. –

+0

Это очень разумный совет. –

2

Нет, идентификаторы по умолчанию ужасны. Я не могу себе представить, что они предназначены для использования, это просто, что Visual Studio недостаточно интеллектуальна, чтобы предлагать что-то лучшее, и они не предлагают что-то полуинтеллектуальное, потому что они не хотят пытаться оторваться как что-то, чего нет. Разумный =)

Так что сделайте так, чтобы всегда менял идентификаторы по умолчанию. То, что вы меняете, полностью зависит от вас; "LeftNavContent"? Практически единственное, что связано с конвенцией, - это капитализация, когда дело касается идентификаторов.

Единственное, что должно быть действительно переход от чистого HTML состоит в том, что вы не можете использовать идентификаторы, такие как «левая навигация», то есть содержащие дефисы, для серверных элементов управления.

+0

+1 для «привычки всегда менять идентификаторы по умолчанию». Они бессмысленны и затрудняют понимание скриптов на стороне клиента. –

1

Я префикс всех элементов управления ASP.Net с помощью ux для управления пользователями.

Затем вы можете подключить ваш String emailAddress = "[email protected]"; к вашему uxEmailAddress.Text = emailAddress

Смежные вопросы