#c# #autocomplete #arraylist #n-tier-architecture
#c# #автозаполнение #список массивов #n-уровневая архитектура
Вопрос:
autoComplete1.ServiceMethod = objdpt.LoadDpt(prefix);
aspx.cs
код файла .. вызов loaddpt
функции
public string LoadDpt(string prefixtext)
{
//Functionality : AutoComplete The DepartmentName
ArrayList arlSample = new ArrayList();
arlSample = objDataAccess.GetSingleColumn("QRY_DeptName", prefixtext);
return arlSample;
//string[] strArray = arlSample.ToArray(typeof(string)) as string[];
}
выше приведен код файла bll. вызов getsinglecolum
функции
public ArrayList GetSingleColumn(string strQuery, params object[] objValueList)
{
ArrayList arlData = new ArrayList();
try
{
string strQry;
strQry = ReadXmlvalue(strQuery, objValueList);
cmdHrm = new OleDbCommand();
cmdHrm.Connection = conHrmDb;
if (conHrmDb.State == ConnectionState.Closed)
conHrmDb.Open();
cmdHrm.CommandText = strQry;
drdHrm = cmdHrm.ExecuteReader();
while (drdHrm.Read())
{
arlData.Add(drdHrm.ToString());
}
return arlData;
}
catch (Exception ex)
{
throw ex;
}
finally
{
if (conHrmDb.State == ConnectionState.Open)
conHrmDb.Close();
}
}
выше приведен код файла dal.
я хочу вернуть строку в aspx.cs
файл ..помогите, пожалуйста
Ответ №1:
Если вы хотите преобразовать список массивов в массив строк, вы можете использовать:
IEnumerable<string> strings = arlSample.Cast<string>();
string[] result = strings.ToArray();
Если вы хотите объединить все элементы, чтобы вы могли возвращать одну строку, вам следует использовать:
string resultString = String.Concat(strings);
Комментарии:
1. я не хочу объединять .. но каждая строка должна возвращаться отдельно
2. Затем верните результирующий массив строк. Это вернет каждую строку отдельно. Вы не можете вернуть несколько результатов из одной функции, за исключением случаев, когда вы используете что-то вроде итератора с ‘yield’.
3. но для вызова функции требуется только строка, а не массив строк ..вот с какой проблемой я сталкиваюсь
4. Вы не можете вернуть несколько строк для функции, которая ожидает только одну строку. Что именно вы пытаетесь сделать? Пожалуйста, отредактируйте свой пост с дополнительной информацией.