对于单个值,我很容易工作,或者也是真正的错误状态。 比如从数据库中获取单个值
string i = "";
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "SelectPass";
cmd.Parameters.AddWithValue("@userID", context.Request.QueryString["id"]);
conn.Open();
SqlDataReader reader = cmd.ExecuteReader();
while (reader.Read())
{
i = reader["Password"].ToString();
}
reader.Close();
conn.Close();
if (i == "")
{ context.Response.Write("False"); }
else
{
context.Response.Write(i);
}
并在客户端轻松显示一个变量中的值。
function abc()
{
$.get('\HandlerResetPass.ashx?id=' + $('#txtUserId').val()+'&lbl='+ $('#lblPasswo').val(), callback);
function callback(data)
{
if (data == "False")
{
alert('ID doesn\'t exist try again..!')
return false;
}
else
{
$('#tblPassWord').show();
$('#tblprofile').hide();
role = data;
}
}
}
但是如何使用A数据集。
答案 0 :(得分:0)
你的问题不明确。您的HandlerResetPass究竟返回了什么?如果是对象列表,您应该定义一个具有数据结构的类,例如序列化json,在客户端,jquery可以遍历您的列表,并处理您的数据。
答案 1 :(得分:0)
您可以返回JSON,然后使用jQuery的$.parseJSON
将其解析为对象。
例如,
// data = '{"field1": "value1", "field2": false}'
function callback(data) {
dataObj = $.parseJSON(data)
if(dataObj["field2"] == false) {
// do something
}
else {
// do something else
}
}
答案 2 :(得分:0)
以下是我获取数据集值的一些代码。
首先,您必须为该require数据表创建类对象。 如下所示
Class MyData
Public ID As Integer
Public Name As String
Public ContactNo As String
End Class
现在需要为BasicOuputObject定义Structure。此BasicOuputObject的对象 从服务器端发送到客户端。
Public Structure BasicOuputObject
Dim status As String
Dim errorMessage As String
Dim strMessage As String
Dim obj As Object
End Structure
现在你必须使用以下函数来获取数据。
Public Sub GetMyData()
Dim objOutput As New BasicOuputObject
Dim objCommand As New SqlCommand
Dim lstMyData As New List(Of MyData)
Dim objMyData As MyData
Dim objConn As New SqlConnection("Pass Connection String")
objCommand.CommandText = "select ID ,Name ,ContactNo from Customers"
objCommand.Connection = objConn
objConn.Open()
Dim m_rdrReader As SqlDataReader = objCommand.ExecuteReader()
If m_rdrReader.HasRows Then
While m_rdrReader.Read()
objMyData = New MyData
objMyData.ID = m_rdrReader(0)
objMyData.Name = m_rdrReader(1)
objMyData.ContactNo = m_rdrReader(2)
lstMyData.Add(objMyData)
End While
End If
m_rdrReader.Close()
m_objConn.Close()
objOutput.errorMessage = ""
objOutput.obj = lstMyData
objOutput.strMessage = "success"
Dim objSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
HttpContext.Current.Response.Write(objSerialiser.Serialize(objOutput))
HttpContext.Current.Response.End()
End Sub
End Class
现在修改javascript如下。使用可以使用任何机制来调用上述功能 来自处理程序。
function abc() {
$.get('\HandlerResetPass.ashx?id=' + $('#txtUserId').val() + '&lbl=' + $('#lblPasswo').val(), callback);
function callback(data) {
if (data.status == "success") {
for (var row, i = 0; row = data.obj[i]; i++) {
//Create the row strings using the CreateAddModelRowString function
// Process row var for as per usage.
}
}
else {
alert('ID doesn\'t exist try again..!')
return false;
}
}
}
希望这会对你有所帮助。快乐的编码......
答案 3 :(得分:0)
我们可以通过使用这种工作从处理程序返回数据集。
public void ProcessRequest(HttpContext context)
{
string connect = (@"Connection string");
using (SqlConnection conn = new SqlConnection(connect))
{
using (SqlCommand cmd = new SqlCommand("", conn))
{
string i = "";
cmd.CommandType = CommandType.StoredProcedure;
cmd.CommandText = "Selecttest";
cmd.Parameters.AddWithValue("@_ID", context.Request.QueryString["id"]);
conn.Open();
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
conn.Close();
string ans = "";
ans = Convert.ToString(ds.Tables[0].Rows[0]["name"])+",";
ans += Convert.ToString(ds.Tables[0].Rows[0]["age"]);
context.Response.Write(ans);
}
}
}
或者在客户端,我们通过此方法获得这两个值。
function abc()
{
$.get('\Handler1.ashx?id=' + $('#txtID').val(), callback);
function callback(data)
{
var arr = data.split(',');
$("#name").html(arr[0]);
$("#age").html(arr[1]);
}
}