2012-08-04 74 views
0

下面的代码显示在浏览器中,而不是预期的输出。我有sql server 2008中的表。我在webmatrix中有这个代码。asp.net代码显示代码本身,而不是在浏览器中输出

<%@ Page Language="VB" %> 
@{ 
var db = Database.Open("databasename"); 'database name in sql server is 'databasename' 
var selectQueryString = "SELECT column_date, sum(qty1) as quantity1, 
sum(qty2) as quantity2, sum(qty3) as quantity3 
from tbldaily group by column_date order by column_date"; 
} 
<!DOCTYPE html> 
<html> 
<body> 
<h1>First table test</h1> 
<table> 
<tr> 
<th>at_date</th> 
<th>quantity1</th> 
<th>quantity2</th> 
<th>quantity3</th> 
</tr> 
@foreach(var row in db.Query(selectQueryString)) 
{ 
<tr> 
<td>@row.column_date</td> 
<td>@row.quantity1</td> 
<td>@row.quantity2</td> 
<td>@row.quantity3</td> 
</tr> 
} 
</table> 
</body> 
</html> 

我觉得在这段代码的某处存在错误。你能帮我解决这个问题吗?请让我知道如果你想了解更多关于我的数据库结构或表格的信息,可以帮助我更好地了解我的情况

回答

0

看起来你正在混合Razor syntax与WebPages。命名您的文件* .cshtml并删除WebPages的第一行。其余的代码是有效的C#剃须刀。

+0

我删除第一线与线<!doctypehtml>并保存为.cshtml。之前它是.aspx,但它仍然显示之前的所有内容标记为网页中的文本...甚至连线@for每个文本... – user1449596 2012-08-04 23:24:46

+0

这是applicationhost.config文件的问题。它在我的电脑中损坏了。我在另一台计算机上安装了相同版本的webmatrix,并将另一台计算机的applicationhost.config文件替换为我的。然后它工作。 – user1449596 2012-08-29 13:54:42

0

我认为他需要的是相反的。保持它.aspx。
所以只要您有@标签来标记ASP代码,使用ASPX逃脱,而不是

<% For i As Integer = 0 To .... %> 
    <tr> <td> <%= row.column_date %> </td> ...... 
<% Next%> 
+0

我不确定aspx代码....现在我得到相同的剃须刀代码的错误(在我的问题中的立场) - “编译器错误消息:CS0103:名称'数据库不存在于当前上下文中'.... – user1449596 2012-08-08 21:18:23

相关问题