Ну, поскольку я относительно новичок в Sharepoint 2007, я хотел бы улучшить свой способ написания кода для этой платформы и уточнить некоторые привычки, которые у меня уже есть.
В следующем коде я задаю размер документа, который находится в списке «Документы», но у меня сложилось впечатление, что я создаю много объектов для доступа к информации. Нет ли способа перейти к документу прямо (я должен получить доступ к de spweb, затем к списку, а затем к документу)?
Одна из вещей, которую я хочу улучшить, это не использовать oSPWeb.Lists [0], что соответствует oSPWeb.Lists ["Documents"], ни один из них не убеждает меня, потому что этот список можно назвать "Documentos", о "Документы" и т.д ...
Плз, не могли бы вы улучшить этот код?
System.Text.StringBuilder oSb = new System.Text.StringBuilder();
oSb.Append(" <Where>");
oSb.Append(" <Eq>");
oSb.Append(" <FieldRef Name=\"FileLeafRef\" />");
oSb.Append(" <Value Type=\"Text\">"+documento+"</Value>");
oSb.Append(" </Eq>");
oSb.Append(" </Where>");
oSb.Append(" <ViewFields>");
oSb.Append(" <FieldRef Name=\"FileSizeDisplay\" />");
oSb.Append(" </ViewFields>");
string sResult = oSb.ToString();
bool Existe = false;
SPSite sps = null;
SPWeb oSPWeb = null;
SPList oList = null;
SPListItemCollection col = null;
try
{
sps = SPContext.Current.Site;
using(oSPWeb = sps.OpenWeb(url))
{
oList = oSPWeb.Lists[0];
SPQuery qry = new SPQuery();
qry.Query = sResult;
col=oList.GetItems(qry);
}
}
catch { }
if (col != null)
{
//return col[0].File.Length.ToString();
return col[0]["FileSizeDisplay"].ToString();
}
else
{
return null;
}