Кнопка ссылки ASP.NET Серверный тег сформирован неправильно

Я пытаюсь добавить кнопку в виде сетки, которая перенаправит меня на другую страницу и передаст идентификатор фильма. Это мой код

<asp:Button ID="Button1" runat="server" CausesValidation="False" 
                     PostBackUrl="~/Add/CheckMovie.aspx?movie=<%#Eval("mov_id")%>" 
                />

Некоторое время назад в другом приложении я использовал похожий код, и он работал нормально

<a href="editUser.aspx?usr=<%# Eval("usr") %>"><%# Eval("usr") %></a>

Это потому, что я использую другой тег, или, может быть, из-за URL?

3 ответа

Решение
PostBackUrl='<%# "~/Add/CheckMovie.aspx?movie=" + Eval("mov_id") %>'

В зависимости от того, как вы получаете значение mov_id вам может быть лучше добавить код в page_load метод, как то так

HTML

<asp:Button ID="Button1" runat="server" CausesValidation="False" PostBackUrl="" />

Код позади

Button1.PostBackUrl = "~/Add/CheckMovie.aspx?movie=" + mov_id;

Как упоминалось в комментарии выше, это связано с тегом server внутри элемента управления ASp:Button. Вы можете изменить его на кнопку HTML следующим образом:

<button class="button" id="submitreorder" onclick="parent.location='<%=ResolveUrl("~/order/ShoppingCart") %>/delete/<%# Eval("Item_ID") %>'">Remove</button>
Другие вопросы по тегам