0

我继承了一个 Umbraco 4.9 站点,需要显示一些来自 SQL 数据库的数据。我已经使用 cshtml 文件创建了一个宏,但它在创建 sqldataconnection 时一直失败。

这是代码。

@inherits umbraco.MacroEngines.DynamicNodeContext
@using umbraco.MacroEngines
@using System.Xml.Linq
@using System.Text
@using System.Data
@using System.Data.SqlClient

@{
SqlConnection sqlConn = new SqlConnection(ConnectionString);
string sql = string.Format("SELECT * FROM [mydb] ");

}

<div class="park-list">
<h2>Parking List</h2>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
    <tr>
        <th>Date</th>
    </tr>
    <tr>
        <th>Name</th>
    </tr>
</table>
</div>

谁能指出我正确的方向。谢谢

4

1 回答 1

0

我建议创建一个帮助类或库,并从 razor 脚本中调用它。您可以简单地将类添加到 App_Code 目录或在本地创建一个新项目并上传 dll。

也就是说,您可以使用像 PetaPoco 这样的轻量级工具:https ://github.com/toptensoftware/PetaPoco/blob/master/PetaPoco/PetaPoco.cs 。将该文件添加到您的 App_Code 中,然后这样的事情可能会起作用:

@{
   var myDb = new PetaPoco.Database(connectionstringfromwebconfig);
   var someResult = myDb.Fetch("SELECT * FROM MyTable WHERE SomeColumn=@0", "Some value");
} 

<ul>
@foreach(var row in someResult)
{
 <li>
 @row.SomeOtherColumn 
 </li>
}
</ul> 

我在这里找到了这段代码:http: //our.umbraco.org/forum/developers/razor/31685-Razor-ans-SQL-commands并且在线程底部还有其他代码可能会有所帮助。

于 2013-03-06T04:14:52.120 回答