2012-03-01 2 views
1

Из-за природы текущей файловой системы, с которой я работаю, мне приходится динамически обращаться к переменным массива на странице ASPX со страницы кода. Я довел это до такой степени, что могу вытащить любую явно выраженную переменную, но, похоже, не могу ее динамически вытащить.Динамический доступ к переменным массива из Code Behind in ASPX

Код За:

public partial class some_class : System.Web.UI.Page { 
    public string[] array123 = new string[100]; 

    .... 
    protected void Button1_Click(object sender, EventArgs e) { 
     someFunction(); 
    } 

    protected void someFunction() { 
     int i = 1; 
     _TempDt = Locator._New_Locator(value) 

     foreach (DataRow _TempDR in _TempDt.Rows) { 
      array123[i] = Server.UrlEncode(address); 
      i++; 
     } 
    } 
} 

ASPX:

.... 
<asp:Repeater ID="DataList" runat="server"> 
    <ItemTemplate> 
     <label onClick="javascript:popup('page.aspx?key=<%= array123[1] %>')">Get link</label> 
    </ItemTemplate> 
</asp:Repeater> 

Это только тянет заявленную (2-е) значение в массиве, и он должен быть динамичным с ретранслятором.

Спасибо.

+0

Не совершенно уверен, что вы просите здесь. Вы хотите получить значение массива в позиции индекса репитера? т.е.: элемент n повторителя отобразит элемент n массива? –

+0

Shai Cohen, да, это именно то, что я пытаюсь получить – sbay

ответ

1

Я думаю, что это то, что вы ищете:

<p><%# array123[Container.ItemIndex] %></p> 
+0

, возможно, вы можете помочь с этим! http://stackoverflow.com/questions/9509022/publishing-asp-net-application-to-the-internet –

+0

jfmags, Это на самом деле то, что я пробовал, но он генерирует ошибку компиляции «CS0103: имя« Контейнер » не существует в текущем контексте » Я фактически отредактировал код страницы ASPX выше, чтобы отразить то, что на самом деле выглядит (я знаю его уродливое, но это то, с чем мне нужно работать) – sbay

+0

вам, вероятно, не хватало # – jmaglio

0

Попробуйте это:

<% # DataBinder.Eval (Container, "ItemIndex", "")%>

Смежные вопросы