Переменные PHP присвоены значением, переданным функциям значением, и когда содержащий/представляющий объекты передаются ссылкой. Можно вынудить переменные передать ссылкой с помощью &
Присвоенный значением/справочным примером:
$var1 = "test";
$var2 = $var1;
$var2 = "new test";
$var3 = &$var2;
$var3 = "final test";
print ("var1: $var1, var2: $var2, var3: $var3);
произвел бы
var1: тест, var2: завершающее испытание, var3: завершающее испытание
Переданный значением/ссылкой exampe:
$var1 = "foo";
$var2 = "bar";
changeThem($var1, $var2);
print "var1: $var1, var2: $var2";
function changeThem($var1, &$var2){
$var1 = "FOO";
$var2 = "BAR";
}
произвел бы:
var1: нечто, var2 ПАНЕЛЬ
Переменные объекта, переданные ссылкой exampe:
class Foo{
public $var1;
function __construct(){
$this->var1 = "foo";
}
public function printFoo(){
print $this->var1;
}
}
$foo = new Foo();
changeFoo($foo);
$foo->printFoo();
function changeFoo($foo){
$foo->var1 = "FOO";
}
произвел бы:
НЕЧТО
(что последний пример мог быть лучше, вероятно...)
Из приведенного вами примера вам не нужен набор данных, а только их. Кроме того, вы не указываете тип данных для столбца.
DataTable indexTable = new DataTable();
indexTable.Columns.Add("letter", typeof(string));
//do stuff
_repeater.DataSource = indexTable;
_repeater.DataBind();
И оцените так
Text='<%# Eval("letter")%>'
Я не знаю, повлияет ли это на разница, но попробуйте следовать (интервал между заметками тоже)
<asp:LinkButton ID="indexLetter" Text='<%# Eval("letter")%>'
runat="server" CssClass='<%# Eval("cssclass")%>'
Enabled='<%# Eval("enabled")%>'></asp:LinkButton>
Чтобы не испортить упражнение, но что не так с жестким кодированием:
<a href="Page.aspx?LIndex=A">A</a>
<a href="Page.aspx?LIndex=B">B</a>
<a href="Page.aspx?LIndex=C">C</a>
...
<a href="Page.aspx?LIndex=Z">Z</a>