На простой странице aspx у меня может быть пользовательская функция обратной передачи JavaScript, как описано в http://www.xefteri.com/articles/show.cfm?id=18 На простой странице используется кнопка ссылки:
<asp:LinkButton id="CreateFile" runat="server" onclick="CreateFile_Click" />
с кодом позади, в котором есть подпрограмма VB:
Sub CreateFile_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
и пользовательская функция Javascript, которая выполняет:
__doPostBack('CreateFile','');
Когда я перемещаю код на страницу содержимого с соответствующей главной страницей, простой пример больше не работает.
Мне известно, что идентификаторы управления сервером меняются в сгенерированном HTML, когда используется главная страница, и я использую правильные идентификаторы в Javascript.Например, для идентификатора LinkButton я использую «<% = CreateFile.ClientID%>» для JavaScript в сгенерированном HTML.Тем не менее, я до сих пор не могу понять, как получить постбэки из Javascript, когда задействованы главные страницы.Точнее, с главной страницей в миксе код даже не скомпилируется, но в результате:
'CreateFile_Click' is not a member of 'ASP.testmaster_aspx'
Если я удаляю onclick = "CreateFile_Click" из разметки LinkButton, он компилируется, но не работает.Аналогично, если onclick удаляется из более простой версии без главной страницы, он также не работает, как и ожидалось.
Любой вклад в то, как получить обратную передачу из пользовательской функции Javascript при использовании мастер-страниц, будет высоко оценен.