ASP.NET 1.1 - теги "<% =" и "%>" отображаются в адресной строке - PullRequest
2 голосов
/ 01 декабря 2010

Я унаследовал приложение ASP.NET 1.1, которое было написано около 8 лет назад. Очевидно, что это первое чье-то погружение в .NET, так как код представляет собой смесь кода и серверной части, разбросанную по всей разметке.

Проблема, с которой я столкнулся, заключается в том, что метка формы имеет действие, которое выглядит следующим образом:

<form name="myForm" id="myForm" method="post" action="?id=<%= fooId %>" runat="server">

Когда кнопка сохранения находится над кнопкой мыши, я вижу в строке состояния:

?id=<%= fooId %>

В отличие от:

?id=123

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

http://servername/virtdir/pagename.aspx?id=<%= fooid %>

, что, очевидно, приводит к тому, что приложение вызываетисключение.Я пытался использовать:

action="?id=<% Response.Write(fooId) %>" 

Но все равно получить ту же проблему.Проблема локализована на этой странице, что еще можно попробовать?

Спасибо,

1 Ответ

5 голосов
/ 01 декабря 2010

Вы не можете поместить <% = в тег runat = server - вы приказываете ему взламывать код на стороне сервера, когда он уже есть.Попробуйте установить действие программно в коде позади. </p>

...