C#webmethod在页面滚动时从MySQL加载数据

时间:2013-06-11 05:58:45

标签: c# asp.net mysql webmethod

我正在开发一个Web应用程序,我需要在页面滚动中显示来自MySQL的数据。在我的代码隐藏中,我有一个[WebMethod] GetData()连接到MySQL_DB。但是我只能在表格中显示第一列,下面是代码。我想显示一个完整的表格或特定的列。我怎么能实现这个?

代码隐藏

[WebMethod]
public static string GetDataFromServer()
{
    DataSet ds = new DataSet();
    string connString = "conString";
    MySqlConnection mycon = new MySqlConnection(connString);
    MySqlCommand cmd = new MySqlCommand("select * from rest", mycon);
    MySqlDataAdapter adp = new MySqlDataAdapter(cmd);

    int retVal = adp.Fill(ds);

    string resp = string.Empty;
    for (int i = 1; i <= ds.Tables[0].Rows.Count; i++)
    {
        string strComment = string.Empty;
        if (ds.Tables != null)
        {
            if (ds.Tables[0] != null)
            {
                if (ds.Tables[0].Rows.Count > 0)
                {
                    if (ds.Tables[0].Rows.Count >= i - 1)
                    {
                        if (ds.Tables[0].Rows[i - 1][0] != DBNull.Value)
                        {
                            //GridView1.DataSource();
                            strComment = ds.Tables[0].Rows[i - 1][0].ToString();
                        }
                    }
                }
            }
        }
        resp += "<p><span>"  + "</span> " + strComment + "</p>";
    }
    return resp;
}

ASPX

        <div id="wra" style="height:300px;overflow:auto">
            <asp:GridView ID="GridView1" runat="server" ></asp:GridView>
        </div>

2 个答案:

答案 0 :(得分:1)

class TableName
{
public _columnName
{
get;
set;
}
...
}

如上所述包括表的所有列。然后从数据库中获取所有必需的记录。 将数据库对象转换为bean类对象并将其添加到列表

List<TableName> listTableName=new List<TableName>();
TableName objTableName=null;

//创建一个循环,该循环遍历所有获取的数据库记录     objTableName._columnName = yourdatabasecolumnvalue

和objTableName列出内部循环并从服务返回列表

答案 1 :(得分:0)

  • 根据您的数据库表,使用字段名称为您的解决方案添加一个bean类。
  • 添加[ScriptMethod(ResponseFormat = ResponseFormat.JSON)]并解析ScriptMethod以获取命名空间。
  • 将数据库对象转换为bean并从service返回。这会将JSON返回给客户端。
  • 您正在使用ASP.NET Gridview控件。但我认为,当它呈现时,我们应该使用它来访问客户端脚本或使用循环创建简单的html表。
  • 您应该使用jQuery-mousewheel来捕捉滚动事件
  • 当该事件发生时,进行ajax调用,从表中访问特定行,生成html并附加到表