PDA

View Full Version : فراخوانی یک متد در حالت Source نه کد بیهایند



bftarane
یک شنبه 08 بهمن 1391, 01:50 صبح
سلام من متد زیر رو در کد بیهایند دارم

public int convertfilesize (int filesize)
{


int result;

int kb=filesize /1024
result=kb;
if(result<1)
{
int mb=filesize /1048576
result=mb;
}
if(result<1)
{
int gb=filesize /1073741824
}
return result;
}

و این کد رو در مد Source دارم

<asp:Label ID="lblsize" runat="server" Text= '<%#Eval("fileSize") %>'></asp:Label><
حالا آیا امکانش هست اون متد در کد بالا فراخوانی بشه؟
چیزی شبیه این؟

<asp:Label ID="lblsize" runat="server" Text= '<%#Eval("fileSize",convertfilesize({0})) %>'></asp:Label>

alihassanabadi
یک شنبه 08 بهمن 1391, 09:06 صبح
سلام
بله میشه
متد رو از نوع static باید تعریف کنی
که نیاز به تعریف شی نداشته باشی
فرض کن که این متد داخل کلاس myClass


public static string Encode(string query)
{
string enc = "string";
return enc;
}

حال text لیبل رو برابر اون متد از کلاس قرار میدیم


'<%# myClass.Encode(DataBinder.Eval(Container.DataItem, "yourField").ToString()) %>'