Buon anno a tutti!

Ho una listview che per ogni record visualizzato deve "caricare" un file HTML tramite Response.WriteFile (il nome del file lo prende dal database):

codice:
<asp:Content ContentPlaceHolderId="content" runat="server">
codice:
<script runat="server">


		public void chapter_ItemDataBound(object sender, ListViewItemEventArgs e)
		{
			if (e.Item.ItemType == ListViewItemType.DataItem)
			{
		           string capitolo = (string)DataBinder.Eval(e.Item.DataItem, "nomefile");
			}
		}


	</script>


	<asp:ListView runat="server" id="chapter" DataSourceID="QueryChapter" OnItemDataBound="chapter_ItemDataBound">



		<ItemTemplate>


			<div id="chapter" class="serif">


		            <% Response.WriteFile (capitolo); %>

			</div>


		</ItemTemplate>

................resto del codice................

</asp:Content>	


Però il compilatore mi da il seguente errore:

CS0103: Il nome 'capitolo' non esiste nel contesto corrente

Per fare una prova, ho messo il
<% Response.WriteFile (capitolo); %> dentro la classe "chapter_ItemDataBound" (dentro allo <script>) e la variabile viene riconosciuta.
Nella listview invece la variabile non passa.

Come devo fare per riconoscere la variabile su tutta la content page?

Grazie a tutti e di nuovo Buon Anno!