asp.net передает строковую переменную в пользовательский элемент управления - PullRequest
2 голосов
/ 15 ноября 2009

Я пытаюсь передать значение кода за переменной пользовательскому элементу управления, например:

<pv1:ShowPdf ID="ShowPdf2" runat="server" BorderStyle="Inset" BorderWidth="2px" FilePath='<%=path2%>'
        Height="700px" Width="856px" />

где path2 - защищенная строковая переменная, объявленная в коде позади. Проблема в том, что значение path2 не передается в FilePath. Какую ошибку я делаю? Простое выполнение <% = path2%> дает мне правильное значение переменной path2 на странице. Любая помощь будет оценена по достоинству.

- Али

1 Ответ

2 голосов
/ 15 ноября 2009

Использование <%= аналогично использованию Response.Write(string). Это происходит в другой точке жизненного цикла, чем когда создается элемент управления ShowPdf и инициализируются свойства - намного позже. Попробуйте вместо этого использовать <%#, который устанавливает значение во время DataBind. Вам может потребоваться вызвать DataBind на вашей странице в CreateChildControls или в каком-либо другом методе, где path2 присваивается значение.

...