Как: динамически добавлять HiddenField в базовую страницу главной страницы - PullRequest
2 голосов
/ 29 октября 2011

У меня есть класс Base MasterPage, от которого будут наследоваться мои мастер-страницы. У меня есть несколько функций javascript для включения дочерних страниц. Поскольку это базовый класс, у него нет визуального дизайнера, и я не могу добавить код XHTML. Мне нужно добавить скрытое поле в класс, чтобы я мог установить его значение в коде javascript, и когда происходит обратная передача, я могу получить установленное значение на своих страницах контента. Тем не менее, мне не удается этого сделать, потому что, когда я пытаюсь добавить скрытое поле в коллекцию элементов управления основной мастер-страницы, я получаю ошибку рендеринга (Ошибка кодирования контента, если смотреть в Firefox). И если я попытаюсь обмануть и зарегистрировать скрытое поле через скриптменеджер с тем же именем вместо добавления элемента управления в коллекцию элементов управления, ну ... я получаю значение как пустое. Как этого добиться?

1 Ответ

3 голосов
/ 29 октября 2011
Public Class MyBaseMaster
    Inherits MasterPage

    Private Sub Page_Init(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Init
      If Not Page.IsPostBack Then
         Page.ClientScript.RegisterHiddenField("MyHiddenField1", "initialvalue")
      End If
    End Sub
End Class

Вы можете получить доступ к значению HiddenField через Request.Form("MyHiddenField1") (поскольку это не серверный контроль, он не является частью коллекции элементов управления страницы).

MSDN: HttpRequest.Form-Property

...