Первый путь
Вы помещаете элемент управления Literal в точку, в которой хотите отобразить переменную, а затем устанавливаете для PageLoad это значение для элемента управления Literal
<asp:Literal runat="server" id="txtValueA" EnableViewState="false" />
и по коду позади.
txtValueA.Text = "one of the basic";
Таким образом, у вас также есть больший контроль над тем, что вы пытаетесь визуализировать.
Второй способ
Другой способ - сделать его общедоступным, как вы говорите, и распечатать его при визуализации страницы. Это другой способ, но не лучший.
public string cMyValue = "some string here";
и на странице aspx
<%=cMyValue%>
Таким образом, вы получаете параметр, когда страница отображается во время выполнения, и отправляете его во время выполнения на клиенте.
Если вы попробуете этот способ внутри панели обновления, то обновление будет неудачным , потому что панель обновления не может прочитать и снова отобразить полную страницу, а только код позади.
Старайтесь избегать этого и используйте его только тогда, когда он вам действительно нужен, потому что это делает вызов кода в тот момент, когда он пытается отобразить страницу и изменить страницу ...
Одна из идей использовать этот способ заключается в том, что когда у вас есть какие-то дополнительные вычисления, которые вы хотели бы сделать, вы очищаете контент, а затем вызываете функцию с дополнительными затратами времени. Например.
<%
Response.Flush();
Response.Write(CallATimeConsumeFunctionThatReturnString());
%>