PDA

View Full Version : سوال: نبودن امکانات Server در کلاس



fakhravari
شنبه 01 بهمن 1390, 22:09 عصر
با سلام
برای مثال Server.HtmlEncode در فرم قابل درسترسی است.
در کلاس به چه شکل قابل دسترسی است.

fakhravari
شنبه 01 بهمن 1390, 22:20 عصر
Server.HtmlEncode است معادل System.Web.HttpContext.Current.Server.HtmlEncode است. جسم سرور یک نمونه از کلاس System.Web.HttpServerUtility است و آن را به آسانی در دسترس است از طریق هر صفحه aspx. از آنجایی که آنها از شی صفحه که به نوبه خود دارای یک نمونه از شی سرور به ارث می برند.

HttpUtility.HtmlEncode زندگی تابع در دست System.Web.HttpUtility است. این کلاس است که اساسا نسخه استاتیک از کلاس سرور که بدان معنی است که شما می توانید از تابع HtmlEncode از یک تابع استاتیک و یا تماس از کلاس دیگری که نمی تواند نمونه ای از کلاس HttpServerUtility تماس بگیرید.

یک تابع HtmlEncode سوم واقع در AntiCross مایکروسافت سایت کتابخانه اسکریپتی وجود دارد. در مقایسه با Server.HtmlEncode و HttpUtility.HtmlEncode توابع، تابع بعد طول می کشد یک رویکرد تهاجمی تر با استفاده از یک لیست سفید به جای فیلتر کردن از لیست سیاه، از این رو بیشتر PCI استاندارد و امن تر است.

HttpServerUtility.HtmlEncode استفاده خواهد کرد HttpUtility.HtmlEncode داخلی. تفاوت خاص وجود دارد.دلیلی برای وجود Server.HtmlEncode سازگاری با ASP کلاسیک است.

public string Encode(string Text)
{
return HttpUtility.HtmlEncode(Text);
}

public string Decode(string Text)
{
return HttpUtility.HtmlDecode(Text);
}

raziee
شنبه 01 بهمن 1390, 22:23 عصر
به شکل زیر باید بهش دسترسی پیدا کنید.

public string HtmlDecode(string value)
{
return System.Web.HttpContext.Current.Server.HtmlDecode(v alue);
}

fakhravari
شنبه 01 بهمن 1390, 22:38 عصر
با سلام
استفاده از این روش بهتر است دیگه در پست 2