gpt4 book ai didi

c# - ASP.NET C# 将方法移动到类文件并从代码隐藏调用它

转载 作者:行者123 更新时间:2023-11-30 17:21:15 25 4
gpt4 key购买 nike

我的 aspx 代码隐藏中有以下代码,它工作正常。因为我要在多个页面上使用它,所以我想将它移到一个类文件中。我不确定如何正确执行此操作。

#region autocomplete search

[WebMethodAttribute(), ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
SqlConnection con;
SqlCommand cmd;
string cmdString = "SELECT TOP(15) Title FROM posts WHERE (Title LIKE '%" + prefixText + "%') OR (Content LIKE '%" + prefixText + "%')";
con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbMyCMSConnectionString"].ConnectionString);

cmd = new SqlCommand(cmdString, con);
con.Open();

SqlDataReader myReader;
List<string> returnData = new List<string>();

myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

while (myReader.Read())
{
returnData.Add(myReader["Title"].ToString());
}

myReader.Close();
con.Close();

return returnData.ToArray();
}

#endregion

我试过像这样从代码隐藏页面调用它:

BlogFrontUtil.GetCompletionList(prefixText, count, contextKey);

...但它不起作用,我看到红色的波浪线。错误消息说它是一个方法,但像类型一样使用。

有人可以教我如何正确完成这项工作吗?我的经验有限。

谢谢

最佳答案

在你的新类中添加方法:

public static class NewClass
{
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
SqlConnection con;
SqlCommand cmd;
string cmdString = "SELECT TOP(15) Title FROM posts WHERE (Title LIKE '%" + prefixText + "%') OR (Content LIKE '%" + prefixText + "%')";
con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbMyCMSConnectionString"].ConnectionString);

cmd = new SqlCommand(cmdString, con);
con.Open();

SqlDataReader myReader;
List<string> returnData = new List<string>();

myReader = cmd.ExecuteReader(CommandBehavior.CloseConnection);

while (myReader.Read())
{
returnData.Add(myReader["Title"].ToString());
}

myReader.Close();
con.Close();

return returnData.ToArray();
}
}

然后在您的服务中调用该方法:

[WebMethodAttribute(), ScriptMethodAttribute()]
public static string[] GetCompletionList(string prefixText, int count, string contextKey)
{
string[] s = NewClass.GetCompletionList(prefixText, count, contectKey);
return s;
}

关于c# - ASP.NET C# 将方法移动到类文件并从代码隐藏调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604747/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com