当我要运行此代码时,我测试的代码运行良好,但我的预期没有显示。它只在每个文本框中显示[object XMLDocument]。我从数据库中搜索数据的控制器是......
public string Search(string id=null)
{
string[] ci = new string[9];
//return "Artistry";
string cn = null;
cn = Request.QueryString["id"];
if (cn != null)
{
ClientInfo c = db.SingleOrDefault<ClientInfo>("where CName='" + cn + "'");
if (c != null)
{
ci[0] = c.CId.ToString();
ci[1] = c.CName;
ci[2] = c.CCName;
ci[3] = c.Address;
ci[4] = c.Email;
ci[5] = c.Fax;
ci[6] = c.Country;
ci[7] = c.PhoneNo.ToString();
ci[8] = c.PostalCode.ToString();
return ci[2];
}
else
return null;
}
else
return null;
//*/
}
我的JavaScript代码用于在文本框中显示数据...
<script type="text/javascript">
$(document).ready(function () {
$('#CName').blur(function () {
var v = $('#CName').val();
var url = "/Clients/Search/" + v;
// alert("Test : " + url);
$.get(url, function (data, status) {
$("#CId").val(data);
$("#CCName").val(data);
$("#Address").val(data);
$("#Email").val(data);
$("#Fax").val(data);
$("#Country").val(data);
$("#PhoneNo").val(data);
$("#PostalCode").val(data);
//alert("Test : " + data + " Status :" + status);
});
});
});
</script>
我的数据库sql查询..
SELECT TOP 1000 [CId]
,[CName]
,[CCName]
,[PhoneNo]
,[Fax]
,[Email]
,[Address]
,[PostalCode]
,[Country]
FROM [test].[dbo].[ClientInfo]
答案 0 :(得分:2)
您需要通过索引从'data'对象获取数据。 添加数据对象后面的值的索引应该有效:
<script type="text/javascript">
$(document).ready(function () {
$('#CName').blur(function () {
var v = $('#CName').val();
var url = "/Clients/Search/" + v;
// alert("Test : " + url);
$.get(url, function (data, status) {
$("#CId").val(data[0]);
$("#CCName").val(data[2]);
$("#Address").val(data[3]);
$("#Email").val(data[4]);
$("#Fax").val(data[5]);
$("#Country").val(data[6]);
$("#PhoneNo").val(data[7]);
$("#PostalCode").val(data[8]);
//alert("Test : " + data + " Status :" + status);
});
});
});
</script>
答案 1 :(得分:1)
因为data是一个对象,并且您将data.toString()设置为输入的值。它没有神奇地映射。您需要从正在返回的对象中提取数据。