Если значение, которое вы хотите передать ссылке, находится в переменной JavaScript, и вы не хотите использовать href, то я боюсь, что вы не можете пойти дальше, чем вы уже сделали, и вот почему:
Код JavaScript ВСЕГДА выполняется после кода на стороне сервера.
Я думаю, вы хотели бы сделать что-то вроде:
@Html.ActionLink( "_name_", "Edit", new { id = *JAVASCRIPT VARIABLE* })
но по причине, о которой я упоминал выше, такая вещь невозможна.
Я бы предложил вам придерживаться любых других методов, которые вы использовали в своем вопросе.