2

最初に xmldatasource を使用してみましたが、ソートできないことがわかりました。試してみると、「System.NotSupportedException: データ ソースは並べ替えをサポートしていません」というエラーが表示されます。

    GridView1.AllowSorting = true;
    DataSet carsDataSet;
    string filePath = Server.MapPath("App_Data/cars.xml");
    carsDataSet = new DataSet();
    //Read the contents of the XML file into the DataSet
    carsDataSet.ReadXml(filePath);
    GridView1.DataSource = carsDataSet.Tables[0].DefaultView;
    GridView1.DataBind();

これにより、次の例外が発生します。

私のxmlは次のようなものです:

<Cars>
<car>
<id>11</id>
<make>Audi</make>
<model>A4</model>
<price>39000</price>
</car>
</Cars>

では、この問題を回避する最善の方法は何ですか? または、並べ替えイベントを何とか処理できますか? それとも、xml データを LINQ などにロードする方が簡単でしょうか?

4

1 に答える 1

1

OK、いくつかの可能な答えを見つけました。まず、特に XmlDataSource を使用したい場合は、次の QA のように XSLT ファイルを使用して翻訳を指定します。

XSLT パラメータを XmlDataSource に正しく渡すにはどうすればよいですか?

または、この投稿では、XDocument を使用して GridView を LINQ クエリの結果にバインドし、XML ファイルを読み込む方法について説明します。

http://forums.asp.net/t/1627778.aspx/1?Sort+results+from+XMLDataSource

于 2012-10-30T13:50:50.397 に答える