2010-12-01 26 views
2

J'ai hérité d'une application ASP.NET 1.1 qui a été écrite il y a environ 8 ans, l'application est évidemment la première immersion de quelqu'un dans .NET car le code est un mélange de code-behind ainsi que côté serveur dispersés tout au long du balisage.ASP.NET 1.1 - Balises "<%=" and "%>" affichées dans la barre d'adresse

Le problème que je vais avoir est que l'étiquette de forme a une action qui ressemble à ceci:

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

Lorsque le bouton d'enregistrement est plané au-dessus que je vois dans la barre d'état:

?id=<%= fooId %> 

contrairement à:

?id=123 

Si l'utilisateur clique sur le bouton d'enregistrement, la barre d'adresse montre:

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

Ce qui force l'application à lancer une exception. J'ai essayé d'utiliser:

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

Mais toujours le même problème. Le problème est localisé sur cette page, que puis-je essayer d'autre?

Merci,

Répondre

5

Vous ne pouvez pas mettre <% = dans une balise runat = serveur - que vous le précisiez à briser dans le code côté serveur quand il est déjà. Essayez de définir l'action par programme dans le codebehind.

+1

J'aurais dû mettre <% %> au lieu de <% = vraiment - vous ne pouvez pas utiliser ce genre de chose quand vous avez runat = server. –

+0

Je crois ... vous auriez pensé que toutes les années que j'ai développées ASP.NET m'auraient appris à regarder ça