2010-05-13 8 views
1

Я хотел бы знать, что лучше всего подходит для разделения содержимого страницы aspx (ASP.NET 3.5) из кода (я используя C#). У меня есть форма, в которую пользователи могут вводить данные - например, им разрешено вводить процент. Если ввести данные, которые не действительны они будут получать сообщение об ошибке:Разделительный контент (aspx) из кода (aspx.cs) в ASP.NET

<p class="errormsg" id="percenthigh">Please enter a percent below 100</p> 
<p class="errormsg" id="percentnegative">Percent cannot be below 0</p> 
<p class="errormsg" id="percentnot">This is not a percent</p> 

Таким образом, в сущности, я прячусь сообщения об ошибках и показывая один в зависимости от того, что пользовательский ввод.

Я считаю, что это лучший способ отделить контент от кода позади. Однако как выбрать элементы и скрыть/показать их в зависимости от пользовательского ввода? Я знаю, что могу использовать runat = "server" для элементов, но проблема в том, что я не могу выбирать по классу и ограничена только идентификаторами.

Какие обходные пути вы рекомендуете? Помимо ввода значений в код, за которым, как известно, трудно отлаживать.

Также было ли это исправлено в ASP.NET 4? И я заинтересован в том, чтобы делать это только через C#/ASP.NET, поскольку некоторые люди отключены JavaScript. Это означает, что мне придется проверять ошибки как на стороне клиента, так и на стороне сервера.

ответ

1

Вы должны взглянуть на asp net validators. В большинстве случаев это достаточно хорошо.

Если ASP NET валидаторы не подходят для какой-либо причине вы можете проверить решение JQuery как this один

В любом случае, я бы рекомендовал вам не тратить время на решение проблемы уже решены во многих разных (хорошо) пути.

+0

Справедливо, но мне просто не нравится добавлять лишний код javascript, который я понятия не имею, что он делает - это черный ящик, который я пытаюсь избежать. – firedrawndagger

0

Selectionm должен быть по ID, если вы хотите уникальные элементы, идентификатор должен быть уникальным для всех ваших элементов. Класс используется как тип в HTML и обычно используется для стилизации.

Кроме того, текст в проектах asp.net должен быть сохранен в файлах ресурсов. Это позволяет легко менять языки.

+0

Спасибо! Я знал это, но, наверное, это был долгий день. Не знал о файлах ресурсов, должен проверить это больше. – firedrawndagger

2

Используйте для этого контроль проверки ASP.Net. Это позаботится о проводке в коде для вас. Для каждого из тегов абзаца в вашем вопросе используется другой элемент проверки.