В зависимости от того, какую версию .NET вы используете, этот элемент управления отличается: в основном, до .NET4 вы можете только изменить префикс контейнера, реализовав свой собственный, но из .NET4 вы можете опустить префиксы контейнера , используя ClientIDMode
.
В качестве альтернативы вы можете представить методы, скажем, на своей странице или главной странице, а затем вызвать их с помощью встроенных сценариев (<%=MyMethodReturningValue() %>
), которые оцениваются во время рендеринга.
EDIT:
Чтобы немного проработать мое второе предложение, вы можете определить метод в своих страницах с выделением кода, который может быть выполнен встроенным образом с использованием блоков встроенного кода ; Ссылочная ссылка дает простые примеры этого, но методы не обязательно должны находиться в <script>
блоках самой страницы (как я ранее уже упоминал), чтобы вы могли разделить свою логику, например:
Определите метод в коде вашей страницы:
public string RenderMessage()
{
return "This need not be a hard-coded string!";
}
Запишите ваш элемент input
, пропустив атрибут runat
и добавив встроенный блок кода вместо того, где будет находиться значение (представьте это как заполнитель); этот блок кода будет вызывать указанный метод при предварительном рендеринге и по существу будет заменен возвращаемым значением:
<input id="orderref" name="orderref" type="hidden" value='<%=RenderMessage() %>'/>