C# &引用;“未定义错误”;在jqueryajax中
请找人帮助清除此错误 我想在不刷新页面的情况下,在每次单击动态框时显示一个模式弹出窗口(带有数据库中的内部详细信息)。我使用了jquery ajax,但无法从数据库中获取值。它在弹出窗口中的字段上显示未定义的错误。请参阅代码C# &引用;“未定义错误”;在jqueryajax中,c#,jquery,ajax,C#,Jquery,Ajax,请找人帮助清除此错误 我想在不刷新页面的情况下,在每次单击动态框时显示一个模式弹出窗口(带有数据库中的内部详细信息)。我使用了jquery ajax,但无法从数据库中获取值。它在弹出窗口中的字段上显示未定义的错误。请参阅代码 <script type="text/javascript"> $.fx.speeds._default = 1000; $(document).ready(function () { $("div[id*='wind
<script type="text/javascript">
$.fx.speeds._default = 1000;
$(document).ready(function () {
$("div[id*='window']").live('click', function (e) {
$.ajax({
url: 'Default2.aspx/get_details',
type: 'Get',
// dataType: 'json',
data: { id: $(this).attr('id').replace(/window/g, '') },
success: function (data) {
alert(data);
$('<div></div>').appendTo('body').html('<div>' + data.comp_name + '</div><div>' + data.comp_status + '</div>').dialog({
modal: true, title: 'owner details', zIndex: 10000, autoOpen: true,
width: 400, height: 200, modal: false, resizable: false, closeOnEscape: false,
show: "slide", hide: "explode",
close: function (event, ui) {
$(this).remove();
}
});
}
});
});
});
</script>
$.fx.speeds.\u默认值=1000;
$(文档).ready(函数(){
$(“div[id*='window'])。live('click',函数(e){
$.ajax({
url:“WebService.asmx/GetCompanyDetails”,类型:“Post”,数据类型:“json”,
数据:JSON.stringify({id:$(this.attr('id')).replace(/window/g,,)}),
contentType:“应用程序/json;字符集=utf-8”,
成功:功能(msg){
var data=$.parseJSON(JSON.stringify(eval(“+msg.d+”)));
$(“”).appendTo('body').html(“”+data.Name+“”+data.City+“”)。对话框({
模态:true,标题:“测试消息”,zIndex:10000,自动打开:true,
宽度:460,高度:300,模态:真,可调整大小:假,closeOnEscape:假,
显示:“幻灯片”,隐藏:“爆炸”,
按钮:{
Ok:函数(){
$(此).dialog(“关闭”);
}
},
关闭:功能(事件、用户界面){
$(this.remove();
}
});
},
错误:函数(msg){
}
});
});
});
测试1
测试2
使用制度;
使用System.Collections.Generic;
使用System.Linq;
使用System.Web;
使用System.Web.UI;
使用System.Web.UI.WebControl;
使用实体;
名称空间公司显示
{
公共部分类CompayJqueryUI:System.Web.UI.Page
{
受保护的无效页面加载(对象发送方、事件参数e)
{
}
上市公司GetCompanyDetails(内部id)
{
if(true)//授权
{
//SqlConnection cn=newsqlconnection(@“数据源=KURIOS_WS4;初始目录=Dreams;用户ID=sa;密码=SageCRMv71”);
//string qry=“从comp_companyId=@comp_companyId的公司中选择comp_companyId、comp_name、comp_status”;
//SqlCommand cmd=新的SqlCommand(qry,cn);
//SqlDataReader=cmd.ExecuteReader();
公司实体=新公司();
实体Id=2;
entity.Name=“Test”;
实体。城市=“班加罗尔”;
//或
//if(reader.Read())
//{
//entity.Id=int.Parse(reader[“comp_companyId”].ToString());
//entity.Name=reader[“comp_Name”].ToString();
//entity.City=reader[“comp_status”].ToString();
//}
返回实体;
}
其他的
{
返回新公司();
}
}
}
}
使用制度;
使用System.Collections.Generic;
使用System.Web;
使用System.Web.Services;
使用System.Web.Script.Services;
使用System.Web.Script.Serialization;
使用CompanyDisplay;
名称空间公司显示
{
[WebService(命名空间=”http://tempuri.org/")]
[WebServiceBinding(ConformsTo=WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[脚本服务]
公共类WebService:System.Web.Services.WebService
{
[网络方法]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共字符串GetCompanyDetails(int id)
{
返回新的JavaScriptSerializer().Serialize(新的CompayJqueryUI().GetCompanyDetails(id));
}
}
}
我看到了两件要签出的东西:
data.d
中返回,而不是data
中返回你能提供更多关于错误的信息吗?它发生在哪里,在哪条线上?另外,您可以发布服务器的响应吗?警报(数据)是否表示未定义?如果您希望服务器响应,您应该在ajax请求中使用数据类型。在弹出窗口中没有,而不是字段值。我在上面的代码中没有定义字段值。如果我保留断点,它不会触发get details方法,因此我无法获取数据库值。我将尝试此代码发送给您或朋友的电子邮件id。我将向您发送zip文件。命名空间应与.aspx和.asmx相同。文件名和方法名应与jqueryk中的WebService.asmx/GetCompanyDetails匹配。。我向你发送了附件,你可以删除电子邮件id.public字符串名称{get;set;}->data.Name。如果您使用data.name,它将显示为未定义。因为它是区分大小写的。
public class Company
{
public int Id { get; set; }
public string Name { get; set; }
public string Status { get; set; }
}
public Company get_details(int id)
{
DataSet dset = new DataSet();
SqlConnection cn = new SqlConnection(@"Data Source=KUR;Initial Catalog=Drea;User ID=sa;Password=Sage");
string qry = "Select comp_companyId,comp_name,comp_status from Company where comp_companyId=" +id+" ";
SqlDataAdapter sda = new SqlDataAdapter(qry, cn);
sda.Fill(dset);
Company entity = new Company();
SqlCommand cmd = new SqlCommand(qry, cn);
SqlDataReader reader = cmd.ExecuteReader();
if (reader.Read())
{
entity.Id = int.Parse(reader["comp_companyId"].ToString());
entity.Name = reader["comp_name"].ToString();
entity.Status = reader["comp_status"].ToString();
}
return entity;
}
public string Name { get; set; } -> data.Name ...
if u use data.name it will show as undefined. because it is case sensitive
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<link href="Scripts/css/ui-lightness/jquery-ui-1.8.20.custom.css" rel="stylesheet"
type="text/css" />
<script src="Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="Scripts/jquery-ui-1.8.20.custom.min.js" type="text/javascript"></script>
<script type="text/javascript">
$.fx.speeds._default = 1000;
$(document).ready(function () {
$("div[id*='window']").live('click', function (e) {
$.ajax({
url: "WebService.asmx/GetCompanyDetails", type: "Post", dataType: "json",
data: JSON.stringify({ id: $(this).attr('id').replace(/window/g, '') }),
contentType: "application/json; charset=utf-8",
success: function (msg) {
var data = $.parseJSON(JSON.stringify(eval("(" + msg.d + ")")));
$('<div></div>').appendTo('body').html('<div>' + data.Name + '</div><div>' + data.City + '</div>').dialog({
modal: true, title: 'Test message', zIndex: 10000, autoOpen: true,
width: 460, height: 300, modal: true, resizable: false, closeOnEscape: false,
show: "slide", hide: "explode",
buttons: {
Ok: function () {
$(this).dialog("close");
}
},
close: function (event, ui) {
$(this).remove();
}
});
},
error: function (msg) {
}
});
});
});
</script>
</head>
<body>
<div id="window1">
Test1
</div>
<br />
<br />
<br />
<br />
<div id="window2">
Test2
</div>
</body>
</html>
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Entity;
namespace CompanyDisplay
{
public partial class CompayJqueryUI : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
public Company GetCompanyDetails(int id)
{
if (true) //authorize
{
//SqlConnection cn = new SqlConnection(@"Data Source=KURIOS_WS4;Initial Catalog=Dreams;User ID=sa;Password=SageCRMv71");
//string qry = "Select comp_companyId,comp_name,comp_status from Company where comp_companyId=@comp_companyId ";
//SqlCommand cmd = new SqlCommand(qry, cn);
//SqlDataReader reader = cmd.ExecuteReader();
Company entity = new Company();
entity.Id = 2;
entity.Name = "Test";
entity.City = "Bangalore";
//Or
//if (reader.Read())
//{
// entity.Id = int.Parse(reader["comp_companyId"].ToString());
// entity.Name = reader["comp_name"].ToString();
// entity.City = reader["comp_status"].ToString();
//}
return entity;
}
else
{
return new Company();
}
}
}
}
using System;
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Web.Script.Services;
using System.Web.Script.Serialization;
using CompanyDisplay;
namespace CompanyDisplay
{
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
[ScriptService]
public class WebService : System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetCompanyDetails(int id)
{
return new JavaScriptSerializer().Serialize(new CompayJqueryUI().GetCompanyDetails(id));
}
}
}