1
ページ読み込み時にgridviewを読み込めません。それは私を与え続ける読み込み時にGridviewを読み込めません
未知の型エラー:未定義のプロパティ '長さ'を読み取ることができません。 私はコードとその下のハンドラをmnetionedしました。問題を解決するのを手伝ってください。この問題はJqueryで発生します。これはハンドラである
<script type="text/javascript">
$(document).ready(function() {
BindGridView();
});
function BindGridView() {
$.ajax({
type: "POST",
url: "../Pm/uc/G.ashx/GetMailDetail",
contentType: "application/json;charset=utf-8",
data: {},
dataType: "json",
success: function (data) {
if (data.d.length > 0) {
$("#grdDemo").append("<tr><th>Username</th></tr>");
for (var i = 0; i < data.d.length; i++) {
$("#grdDemo").append("<tr><td>" +
data.d[i].Username + "</td> <td>");
}
}
},
error: function (result) {
}
});
}
</script>
<asp:GridView ID="grdDemo" runat="server">
</asp:GridView>
。(あなたは何もしてクエリを置き換えることができます。)
public void ProcessRequest(HttpContext context)
{
//int mailid = int.Parse(context.Request["mid"]);
//var detail = GetMailDetail(mailid);
var detail = GetMailDetail();
if (detail != null)
{
context.Response.ContentType = "application/json";
string json = new System.Web.Script.Serialization.JavaScriptSerializer().Serialize(detail);
context.Response.Write(json);
}
else
{
context.Response.StatusCode = 404;
}
}
//protected object GetMailDetail(int mailid)
protected object GetMailDetail()
{
List<DetailsClass> Detail = new List<DetailsClass>();
Connection Con = new Connection();
String Connection = Con.Active_Connection();
SqlConnection con = new SqlConnection(Connection);
con.Open();
DataTable dt = new DataTable();
SqlCommand cmd = new SqlCommand("select Sp4_Txt from Sp4", con);
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dtGetData = new DataTable();
da.Fill(dtGetData);
foreach (DataRow dtRow in dtGetData.Rows)
{
DetailsClass DataObj = new DetailsClass();
DataObj.Username = dtRow["Sp4_Txt"].ToString();
Detail.Add(DataObj);
}
return Detail.ToArray();
}
public class DetailsClass //Class for binding data
{
public string Username { get; set; }
}
public bool IsReusable
{
get
{
return false;
}
}
}
こんにちは、$(document).ready変更の前に関数 "関数BindGridView()"を宣言できますか? –
なぜ 'data.d.length'にアクセスしていますか? 'd'はどこですか?あなたはそれが何になると思いますか?ブラウザのネットワークコンソールを見て、AJAXコールでサーバから期待されるものを確実に受け取っていますか? – mason
SqlConnectionのような[IDisposable](https://msdn.microsoft.com/en-us/library/system.idisposable(v = vs.110).aspx)オブジェクトを正しく処理できないのはなぜですか?あなたは強く型付けされたクラスに直接行くのではなく、最初にDataTableにデータを取得するのはなぜですか? – mason