webmatrix传递ID以显示代码

时间:2011-07-04 23:18:42

标签: c# webmatrix

我目前正疯狂制作一个页面,以便在传递ID时显示内容。 我的代码可以在下面找到

 @{  
Layout = "~/_SiteLayout.cshtml";
Page.Title = "Home";
var db = Database.Open("StarterSite");
 var PageID  = UrlData[0]; 
 if (PageID.IsEmpty()) { 
     PageID = "1";
 } 
var pages = db.QuerySingle("SELECT * FROM PAGES WHERE Id = @0",PageID);

}

        <div class="productInfo">
            <h3>@pages.Body</h3>
            </div>

基本上我试图让它做的是当你输入url default / 1时,会出现id为1的页面正文,如果没有给出查询字符串,它将默认为ID 1 < / p>

当我运行此操作时,我遇到错误

@ pages.Body

说明异常详细信息:Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:无法对空引用执行运行时绑定< p>

传递的网址为http://localhost:20756/Default/1,系统中有一个ID为1的网页

1 个答案:

答案 0 :(得分:1)

换句话说,

例外:

你的运行时说:

  

“你给了我一个没有的查询   返回任何东西,但希望我访问   关于那个结果的一些数据......错误......   这不会发生“

如果此代码在default.cshtml中运行,请尝试从您的网址中删除“默认/”...

请注意PageID.IsEmpty()未评估true,因为UrlData[0]可能包含"Default"