繁体   English   中英

Jquery C# 中的数据集值

[英]DataSet Value in Jquery C#

我有一个页面,其中 URL 包含查询字符串值。

QSecID=164&QTempId=55&QSecName=New%20Temp%20Bt

当页面加载它们并尝试获取值时,它工作正常。

$(document).ready(function() {

      function getUrlParameter(name) {
        name = name.replace(/[\[]/, '\\[').replace(/[\]]/, '\\]');
        var regex = new RegExp('[\\?&]' + name + '=([^&#]*)');
        var results = regex.exec(location.search);
        return results === null ? '' : decodeURIComponent(results[1].replace(/\+/g, ' '));
      };
      var urlName = getUrlParameter('QSecName');
      alert(urlName);
      getImageData(urlName); //Pass Query String Value to Function
      });   

现在我将此值传递给 C#、ASPX.CS 页面并尝试根据QSecName获取数据。 但我有错误。 这是我的 Jquery 函数。

function getImageData(name) {

  // alert(nextDay);
  $.ajax({

    type: "POST",

    url: "Section.aspx/GetImageData",

    //data: '',
    data: JSON.stringify({
      "dataSecName": name
    }),

    contentType: "application/json; charset=utf-8",

    dataType: "json",

    success: function(data) {
      alert("Success");
      alert(JSON.parse(data.d));

    }

  });
}

我的 C# 页面在 Jquery 中返回数据集。

[WebMethod()]
public static string GetImageData(string dataSecName)
//public static string GetRole()
{
  clsSection objSectNew = new clsSection();
  DataSet DS = new DataSet();
  DS = objSectNew.GetImageDataByJQ(dataSecName);
  return JsonConvert.SerializeObject(DS);
}

编辑代码 1这是我的 SQL 语句,它在我运行页面时执行

DS = objSectNew.GetImageDataByJQ(dataSecName);

此方法将查询字符串值传入以执行存储过程。

select mhp.ImageName,mhp.HotSpotID,imgdetail.XCordinate,imgdetail.YCordinate
        from tbl_SOAPDetailsInfo e inner join  M_ImageHotSpot mhp on e.ImgHotSpotName=mhp.ImgHotSpotNameByUser 
        inner join M_ImageHotSpotDetail imgdetail on mhp.HotSpotID=imgdetail.HotspotIDFK where e.SOAP_D_Name='New Temp Bt'

我想使用我的XCordinateYCordinateImageName来使用 jquery 显示图像。 但在警报框内

**[object] [object]**

错误显示。 我如何获取和分配此值 X 和 Y 值并在 DIV 中显示。
编辑代码 2

ImageName               XCordinate  YCordinate
$parent in angularjs.png    1146    590
$parent in angularjs.png    1216    588
$parent in angularjs.png    1188    626
$parent in angularjs.png    1162    582
$parent in angularjs.png    1193    586

数据库值。 JSON 格式数据

{"d":"{\"Table\":[{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1146\",\"YCordinate\":\"590\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1216\",\"YCordinate\":\"588\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1188\",\"YCordinate\":\"626\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1162\",\"YCordinate\":\"582\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1193\",\"YCordinate\":\"586\"}]}"}

因此,根据您的问题[object] [object]不是错误。 这意味着您无法以正确的方式获取它。

虽然我不确定您从后端代码发送的数据类型是data但是您可以尝试以下方式,

     var data = "{\"Table\":[{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1146\",\"YCordinate\":\"590\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1216\",\"YCordinate\":\"588\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1188\",\"YCordinate\":\"626\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1162\",\"YCordinate\":\"582\"},{\"ImageName\":\"$parent in angularjs.png\",\"ImagePath\":\"~/Administration/imageHotspot/$parent in angularjs.png\",\"HotSpotID\":11,\"XCordinate\":\"1193\",\"YCordinate\":\"586\"}]}"

            var obj = JSON.parse(data);

            console.log(obj.Table);
            var tableObj = obj.Table

            console.log(obj.Table);

            var arrayLength = tableObj.length;

            for (var i = 0; i < arrayLength; i++) {
                console.log(tableObj[i].ImageName);
                console.log(tableObj[i].XCordinate);
                console.log(tableObj[i].YCordinate);
                alert(tableObj[i].YCordinate);
               }

所以现在如果你用上面的示例替换你的代码,你的代码应该如下所示:

 function getImageData(name) {
            // alert(nextDay);
            $.ajax({
                type: "POST",
                url: "Section.aspx/GetImageData",
                data: JSON.stringify({
                    "dataSecName": name
                }),
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    var obj = JSON.parse(data);

        console.log(obj.Table);
        var tableObj = obj.Table

        console.log(obj.Table);

        var arrayLength = tableObj.length;

        for (var i = 0; i < arrayLength; i++) {
            console.log(tableObj[i].ImageName);
            console.log(tableObj[i].XCordinate);
            console.log(tableObj[i].YCordinate);
            alert(tableObj[i].YCordinate);
                }

            });
        }

注意:尝试在浏览器console进行调试,您将了解对象表示法的更多细节。

看屏幕截图你会怎么做

在此处输入图片说明

希望这会有所帮助

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM