0

したがって、私は .NET フレームワークにかなり慣れていませんが、次の jQuery コードを実行しようとしています。

    $(document).on('click', 'a[data-link]', function () {
        var $this = $(this);
        url = $this.data('link');
        $("#imagePreview").load("imageProcess.aspx?"+url);

ここで、url には「model=2k01&type=black&category=variable」のようなものが保持されます。残念ながら、aspx ファイルで Response.Write() のような単純なことを行うと、div タグ imagePreview は何もしないため、これは機能しません。ただし、? を削除します。+ url 部分は機能しますが、aspx ファイルにデータを送信できません。すべてのリンク a[data-link] には送信される異なるデータがあり、これを達成するための動的な方法を見つける必要があるため、このようにしています。どんな提案でも大歓迎です。

更新: URL のものを生成している私の html コードの部分は次のとおりです。

<a class='modelsBlue' href = '#' data-link='model=" + $(this).find('model').text() + "&type=" + category + "'>" + $(this).find("model").text() + "</a>

そして #image preview は次のように私のコードにあります:

<div id = "imagePreview"></div>

上記のコードを実行しようとすると、jQuery.js ファイルから発生していると思われる次のエラーが表示されます。

Microsoft JScript runtime error: Syntax error, unrecognized expression: &type=AutoEarly

これは imageProcess.aspx.cs ファイルです。現在、ディレクトリ内のすべての画像を出力しています。

namespace ModelMonitoring
{
    public partial class imageProcess : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            Response.Write("test");
            foreach (var f in Directory.GetFiles(Directory.GetCurrentDirectory()))
            {
                Response.Write(f);
                Response.Write("<br />");
            }
        }
    }
}

2 番目の更新: chrome または firefox で実行しているときにエラーは発生しませんが、ファイルが出力されません。

4

1 に答える 1

0

空白の問題であることがわかりました。ラッパーを追加する必要がありました:

$(this).find('model').text()

読むために:

$.trim($(this).find('model').text())

私が読んでいたxmlファイルのモデル名の周りに空白があったためです。返信してくれた人に感謝します!

于 2012-06-07T15:59:01.493 に答える