0

これら 2 つのコントロールのいずれも使用したことがなく、ページのレンダリングが表示されずに立ち往生しています (コンパイルして実行しますが、何も生成しません)。この単純な asp.net ページにはコード ビハインド ファイルがなく、Visual Studio 2008 を使用しています。

<%@ Page Language="C#" AutoEventWireup="true" 
    CodeBehind="Index.aspx.cs" Inherits="zList.Index" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
   "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
   <head runat="server">
        <title></title>
   </head>
<body>
<form id="form1" runat="server">
<div>
    <asp:ListView ID="CategoryList" runat="server" 
            DataSourceID="Categories">
    <LayoutTemplate>
        <ol>
            <asp:PlaceHolder runat="server" ID="itemPlaceholder">
            </asp:PlaceHolder>
        </ol>
    </LayoutTemplate>
       <ItemTemplate>
            <li><%# Eval("AttrDesc")%></li>
       </ItemTemplate>
    </asp:ListView>
</div>
</form>
</body>
</html>
<asp:sqldatasource runat="server" id="Categories"
    ConnectionString="<%$ ConnectionStrings:ZIPeeeConnectionString2 %>" 
    SelectCommand="SELECT AttrID,AttrDesc FROM dbo.tblAttributes1">
</asp:sqldatasource>

web.config の接続文字列セクションを次に示します (両方の接続文字列を別々に試しましたが、どちらもレンダリングされません)。

<connectionStrings>
    <add name="ZIPeeeConnectionString" connectionString="Data Source=MOJITO;Initial Catalog=ZIPeee;Integrated Security=True" providerName="System.Data.SqlClient"/>
    <add name="ZIPeeeConnectionString2" connectionString="Data Source=MOJITO;Initial Catalog=ZIPeee;User ID=sa;Password=" providerName="System.Data.SqlClient"/>
</connectionStrings>

ビルド中に実行時エラーもエラーも発生しません。単純なクエリは、SQL クエリ アナライザ (つまり、SQL Server 2000) から正常に機能します。何か案は?

EDIT-UPDATE: .ASPX.CS コード ビハインド ファイルには次のようなものがありますが、デバッガーを .DataBind メソッドのブレークポイントで停止させることができません。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace zList
{
    public partial class Index : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            CategoryList.DataBind();   // breakpoint set here but debugger won't stop here
        }
    }
}

ところで、私は SQL プロファイラーを起動しましたが、SQL 選択がサーバーに対して起動されていないようです。私が言ったように、ページは空です - ページのソースを表示してスクレイピングすると、このジャンクだけです:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1   /DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head><title></title></head>
<body>
<form name="form1" method="post" action="Index.aspx" id="form1">
<div>
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="/wEPDwUKMjAyMTkwMzQ3OQ9kFgQCAw9kFgICAQ8UKwACDxYEHgtfIURhdGFCb3VuZGceC18hSXRlbUNvdW50Av////8PZGRkAgUPD2QPEBYDZgIBAgIWAxYCHg5QYXJhbWV0ZXJWYWx1ZWQWAh8CZBYCHwJkFgMCAwIDAgNkZBgBBQxDYXRlZ29yeUxpc3QPZ2TCuhjvuwDRjaGJssTwiDXpAv/fdw==" />
</div>

<div>

</div>
</form>
</body>
</html>
4

1 に答える 1

2

このコードの唯一の問題は、sqldatasource の配置だと思います。タグの中に入れてもらえますか?

それでもうまくいかない場合は、リストビューの定義を次のように変更できますか

<asp:ListView ID="CategoryList" runat="server"> 

次に、ページの読み込みコードを次のように変更します

CategoryList.DataSource = Categories;
CategoryList.DataBind();

デバッガーをヒットできるはずです

最後のオプションとして、接続文字列が web.config の構成タグ内に配置されているかどうかも確認できますか。

于 2010-02-16T16:32:50.300 に答える