1

Page1.aspx には、「.click」イベントの Ajax 要求を起動するスパン要素「class1」があり、これは Page2.aspx によって処理されます。Page2.aspx は、"class2" を持つ別のスパン要素をレンダリングします。「class2」をクリックすると、Page3.aspx で定義された別の Ajax リクエストが起動されます。

問題は、Page1.aspx でanotheridパラメーターを取得して処理できるようにするにはどうすればよいかということです。すべての結果は #results にレンダリングされます。

そもそも私はこれを正しくやっていますか???

Page1.aspx (HTML):

<html>
<head>
<script type="text/javascript">
  $(document).ready(function () {
    $('.class1').click(function () {
      $.ajax({
        contentType: "text/html; charset=utf-8",
        //detect span "class2" was clicked and append to url here?
        //data: "id=" + this.id + ",anotherid=" + ???
        data: "id=" + this.id,
        url: "Page2.aspx",
        dataType: "html",
        success: function (data) {
          $('#results').html(data);
        }
      });
    });
  });
</script>
</head>
<body>
  <div><span class="class1" id="123">Click</span></div>
  <div id="results"></div>
</body>
</html>

Page2.aspx (分離コード):

protected void Page_Load(object sender, EventArgs e)
{
  string id = Request.QueryString["id"];
  Response.Write("<span class=\"class2\" id="456">" + id + "</span>");
}

Page2.aspx (HTML):

<html>
<head>
<script type="text/javascript">
  $(document).ready(function () {
    $('.class2').click(function () {
      $.ajax({
        contentType: "text/html; charset=utf-8",
        data: "anotherid=" + this.id,
        url: "Page3.aspx",
        dataType: "html",
        success: function (data) {
          $('#results').html(data);
        }
      });
    });
  });
</script>
</head>
<body>
</body>
</html>

Page3.aspx (分離コード):

protected void Page_Load(object sender, EventArgs e) 
{
  string tags = Request.QueryString["anotherid"];
  //do something with anotherid.
}
4

1 に答える 1

0

このコードを参照してください:

     $.ajax({
        type: "POST",
        url: "PageX.aspx?anotherid=" + $(this).attr("id"),
        success: function (data) {
          $('#results').html(data.text());
        }
      });

お役に立てれば幸いです。

于 2012-09-15T16:58:57.927 に答える