ASP.NET 1.1 - “<%=”和“%>”标签在地址栏中呈现

时间:2010-12-01 17:19:29

标签: asp.net asp.net-1.1

我继承了大约8年前编写的ASP.NET 1.1应用程序,该应用程序显然是第一次沉浸在.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 个答案:

答案 0 :(得分:5)

你不能将&lt;%=放入runat = server标签 - 告诉它在服务器端代码已经存在的情况下进入服务器端代码。尝试在代码隐藏中以编程方式设置操作。