تبليغاتX
جادوي سي شارپ
گروه اعتبار سنجی - ValidationGroup:
یکی از مشکلات استفاده از کنترلهای سنجش اعتبار یا Validation Controls اینه که اگر در یک صفحه چند گروه مختلف کنترل داشته باشیم و بخواهیم هر دسته از کنترلها رو با در شرایط خاصی چک کنیم به مشکل برخواهیم خورد.
1- بطور مثال اگر در یک صفحه دو دسته اطلاعات مختلف به همراه دو دکمه برای ثبت هر کدام از گروه های اطلاعاتی داشته باشیم نمی توان از کنترلهای اعتبار سنجی به روش پیش فرض استفاده کرد.
2- شاید صفحاتی رو که دارای دکمه ثبت و دکمه پاک کردن اطلاعات هستند رو دید، در این صفحات نیز مشکل اعتبار سنجی وجود داره! چرا؟ چون اگر کاربر بخواهد اطلاعات صفحه رو پاک کنه به مشکل اعتبار برخواهد خورد و کد مربوط به پاک کردن محتویات کنترلها اجرا نخواهد شد.
3- مثال آخر اینکه در صفحه ای که کنترلهای اعتبار سنجی وجود دارند و شما بخواهید از یک دکمه دیگر مثل نمایش اطلاعات اضافی استفاده کنید
در کل در تمام صفحاتی که به غیر از دکمه اصلی که معمولا ثبت هست یک کنترل دارای خاصیت PostBack استفاده کنید، کنترلهای اعتبار سنجی شما به خطا خواهند رفت، زیرا جلوی هر PostBack صفحه را خواهند گرفت.

پیشنهاد می کنم اگر با این مشکل قبلا روبرو نشدید حتما یک پروژه تمرینی بسازید تا بهتر مطالب رو درک کنید. برای این منظور یک پروژه وب جدید ایجاد کرده و دو textbox و دو button به اون اضافه کنید. می تونید از کنترلهای اعتبار سنجی Requierd Field Validator استفاده کنید و تنظیمات اون رو انجام بدید. یک کد برای دکمه ثبت و کدی جهت پاک کردن خصوصیات Text دو textbox بنویسید. اگر همه چی رو درست تنظیم کرده باشید، خواهید دید که تا زمانی که هر دو جعبه متن پر نشده باشند نمی توان از دکمه پاک کردن استفاده کرد.

خوب حالا می ریم سراغ تمرین خودمون یعنی بکارگیری Validation Group: برای این منظور یک پروژه وب ایجاد کنید.
دو asp:textbox به عنوان گروه اول اضافه کنید و برای این دو کنترل، دو کنترل asp:RequiredFieldValidator اضافه کنید و خصوصیت ControlToValidate آن دو را به دو کنترل TextBox مرحله قبل تنظیم کنید.
دو کنترل asp:button به صفحه اضافه کنید، یکی با عنوان Submit و دیگری با عنوان Reset برای دکمه Reset کدی جهت پاک کردن دو کنترل جعبه متن مرحله قبل بنویسید.
دو یا سه asp:textbox دیگر به صفحه اضافه کنید و مانند مراحل قبل برای آنها از asp:RequiredFieldValidator استفاده کنید.
دو کنترل asp:button مانند مراحل قبلی اضافه کنید با همان نام.
پروژه را اجرا نموده و از دکمه های Submit و Reset استفاده کنید. نتیجه را مشاهده کنید. این همان مشکل استفاده پیش فرض از کنترلهای اعتبارسنجی است.
کد زیر لیست کنترلها و تنظیم خصوصیات اصلی آنها رو مشخص می کنه:
1. asp:TextBox ID="txtName"
2. asp:RequiredFieldValidator ID="rfvName" ControlToValidate="txtName" ErrorMessage="*"
3. asp:TextBox ID="txtFamily"
4. asp:RequiredFieldValidator ID="rfvFamily" ControlToValidate="txtFamily" ErrorMessage="*"
5. asp:Button ID="btnSubmit" Text="Submit"
6. asp:Button ID="btnReset" Text="Reset"
7. asp:TextBox ID="txtIDNo"
8. asp:RequiredFieldValidator ID="rfvIDNo" ControlToValidate="txtIDNo" ErrorMessage="*"
9. asp:TextBox ID="txtUserName"
10. asp:RequiredFieldValidator ID="rfvUserName" ControlToValidate="txtUserName" ErrorMessage="*"
11. asp:TextBox ID="txtPassword"
12. asp:RequiredFieldValidator ID="rfvPassword" ControlToValidate="txtPassword" ErrorMessage="*"
13. asp:Button ID="lblSubmitExtraInfo" Text="Submit Extra Info"
14. asp:Button ID="lblResetExtraInfo" Text="Reset Extra Info"

کدهای مربوط به دو دکمه Reset:
protected void btnReset_Click(object sender, EventArgs e)
{
  txtName.Text = "";
  txtFamily.Text = "";
}
protected void btnResetExtraInfo_Click(object sender, EventArgs e)
{
  txtIDNo.Text = "";
  txtUserName.Text = "";
  txtPassword.Text = "";
}
خوب حالا که مشکل کنترلهای اعتبارسنجی رو به روش پیش فرض استفاده شون دیدیم، میخواهیم اون مشکل رو با استفاده از خصوصیت ValidationGroup حل کنیم. بسیار روش ساده ای رو در پیش رو داریم. برای این منظور باید خصوصیت ValidationGroup هر گروه از کنترلها رو با یک مقدار مشخص مقداردهی کنیم. دو کنترل اعتبارسنجی گروه اول رو با دکمه Submit در یک گروه قرار میدیم (کنترلهای 2،4 و 5). سه کنترل اعتبارسنجی و دکمه Submit دوم را نیز در یک گروه دیگر قرار می دیم. (8،10،12 و 13)
پروژه رو اجرا کنید و نتیجه رو ببینید.
کنترلهایی که باید تغییر پیدا کنند در زیر لیست شده اند: (به خاصیت ValidationGroup دقت کنید)
1. asp:RequiredFieldValidator ID="rfvName" ControlToValidate="txtName" ErrorMessage="*" ValidationGroup="groupName"
2. asp:RequiredFieldValidator ID="rfvFamily" ControlToValidate="txtFamily" ErrorMessage="*" ValidationGroup="groupName"
3. asp:Button ID="btnSubmit" Text="Submit" ValidationGroup="groupName"
4. asp:RequiredFieldValidator ID="rfvIDNo" ControlToValidate="txtIDNo" ErrorMessage="*" ValidationGroup="groupExtraInfo"
5. asp:RequiredFieldValidator ID="rfvUserName" ControlToValidate="txtUserName" ErrorMessage="*" ValidationGroup="groupExtraInfo"
6. asp:RequiredFieldValidator ID="rfvPassword" ControlToValidate="txtPassword" ErrorMessage="*" ValidationGroup="groupExtraInfo"
7. asp:Button ID="lblSubmitExtraInfo" Text="Submit Extra Info" ValidationGroup="groupExtraInfo"
برای راحتی و حصول نتیجه کامل یک برنامه نمونه آماده شده که می تونید اون رو از اینجا دانلود کنید.
تگهای فارسی: مهدی ریزوندی، سی شارپ، سي شارپ، ای اس پی دات نت، وب، اعتبارسنجی، جعبه متن، دکمه، پروژه، کد نمونه
English Tags: Mehdi Rizvandi, Csharp, C sharp, C#, ASP.Net, Web, Web Development, Solution, Validation Group, Textbox, Button, Project, Sample Code
+ نوشته شده در  شنبه چهاردهم اردیبهشت 1387ساعت 15:1  توسط کنستانتین  | 
سلام خدمت کلیه دوستان همیشگی جادوی سی شارپ
با توجه به رشد روزافزون وب تصمیم گرفتم که مقاله ای در خصوص وب تهیه کنم و با توجه به اینکه MasterPage یکی از قابلیتهای بسیار عالی در 2005 هست تصمیم گرفتم مقاله ای رو در همین راستا آماده و به دوستانم ارائه کنم.
یکی از مشکلات من در طراحی وب سایت در زمان ASP.NET 1.x این بود که بخوام قالب وب سایت رو عوض کنم، این به معنی تغییر کلیه صفحه های وب سایت و آپلود همه اونها بود که مشکلات این تغییر هم بسیار واضح هست، مثل اشتباهات کاربری، حجم زیاد دوباره کاری، آپلود صفحات زیاد و .... خوشبختانه در ASP.NET 2.0 با ظهور MasterPage این مشکل به راحتی مرتفع گردید.
در خصوص صفحه اصلی یا همورن MasterPage دو مقاله تهیه شده، اولین مقاله شامل آشنایی، مفاهیم و امکانات این قابلیت هست و دومین مقاله به زبان بسیار ساده و به صورت قدم به قدم روش پیاده سازی و بهره مندی از این قابلیت رو شرح میده:
مقله اول:
صفحه اصلی در ASP.NET (در یک نگاه)
فهرست:
  • نحوه کار صفحه اصلی
  • فواید استفاده از صفحه های اصلی
  • رفتار زمان اجرای یک صفحه اصلی
  • صفحه اصلی و مسیر صفحه محتوی
  • صفحه اصلی و تم ها
  • حوزه صفحه اصلی
دریافت مقاله صفحه اصلی در ASP.NET (در یک نگاه)

مقاله دوم:
مثال عملی استفاده از صفحه اصلی در ASP.NET (قدم به قدم)
شامل دو مثال پیاده سازی صفحه اصلی
دریافت مقاله مثال عملی استفاده از صفحه اصلی در ASP.NET (قدم به قدم)
دریافت کدهای مقاله مثال عملی استفاده از صفحه اصلی در ASP.NET (قدم به قدم)



پاسخ به سوالات

عمار دوست عزیز:
در خصوص بدست آوردن شماره سطر و ستون اشاره گر در یک کنترل RichText می تونید از متدها و خصوصیات زیر استفاده کنید:
SelectionStart: این خصوصیت، مکان اشاره گر را به شما برمیگرداند (در کل متن)
GetLineFromCharIndex: این متد شماره خطی مورد نظر شما را برمی گرداند (کافیست به اون شماره اندیس اشاره گر رو بدید)
GetFirstCharIndexFromLine: شماره اندیس اولین کاراکتر یک خط رو برمی گردونه
یک مثال هم نوشته شده که می تونید کد اون رو از اینجا دریافت کنید

int startSelection = 0;
int row = 0;
int col = 0;

startSelection = rtbBody.SelectionStart;
row = rtbBody.GetLineFromCharIndex(startSelection);
col = startSelection - rtbBody.GetFirstCharIndexFromLine(row);
row++;

امیر جان:
در خصوص گرفتن تصویر از صفحه دسکتاپ می تونید از سایتهای زیر استفاده کنید. در دات نت به صورت مستقیم روشی برای این کار وجود ندارد و شما باید به صورت UnManaged این عمل رو انجام بدید.
c-sharpcorner
codeguru
تگهای فارسی: مهدی ریزوندی، سی شارپ، سي شارپ، صفحه اصلی، مستر پیج، ام اس دی ان،نگهدارنده محتوا،ارجاع دادن به منابع خارجی،کنترلهای سرور، تم، مقاله، وب، دات نت 2، 2005، طراحی وب سایت، پیاده سازی، مثال، کد، برنامه، ریچ تکیت، سطر، ستون
English Tags: Mehdi Rizvandi, Csharp, C sharp, C#,MasterPage, MSDN, ContentPlaceHolder, Refrence to external resource, Server Controls, Theme, Research, Document, Web, Web 2.0, Dot Net 2.0, VS 2005, Web Site Design, Implementation, Sample, Code, Source Code, Programe, RichText, Row, Col, Managed Code
+ نوشته شده در  یکشنبه نهم دی 1386ساعت 8:28  توسط کنستانتین  | 
دوست عزیزی ایمیل فرستاده بود و سوالاتی پرسیده بود. سوالات به همراه جوابشون:

نحوه پر کردن داخل اشکال بسته:

برای پر کردن داخل اشکال بسته از متدهای Fill کلاس Graphics استفاده می کنیم. این متدها عبارتند از:
FillClosedCurve ، FillEllipse، FillPath، FillPie، FillPolygon، FillRectangle، FillRectangles، FillRegion
از اسم هر کدوم از متدها پیداست که برای پر کردن داخل هر شکل از کدومشون باید استفاده کنیم.

نحوه باز کردن فایلهای CHM:

برای استفاده از فایلهای chm در C# باید از کلاس Help استفاده کنید. به کد زیر توجه کنید:

Help.ShowHelp(this, @"D:\Ebooks\IntroducingMicrosoftASP.NET AJAX.chm");

رسم دوباره اشکال:

اینکه چرا برنامه شما اشکال رسم شده رو بعد از Minimize نمی تونه رسم کنه، می تونه دلایل زیادی داشته باشه و بستگی به نحوه کد نویسی شما داره. هر زمان که ویندوز احساس کنه یک پنجره یا قسمتی از یک پنجره نیاز به رسم مجدد داره، اونو رسم می کنه و برای رسم اون کد رویداد Paint اون شی فراخوانی میشه. در صورتی که در گرداننده رویداد Paint کدهای لازم نوشته نشده باشه توانایی رسم مجدد اونها وجود نخواهد داشت.

فولدر App_Code در ASP.NET :

این فولدر به منظور محلی برای ذخیره کلاسها ، فایلهای .wsdl و Typed dataset ها تعبیه شده است و تمام مواردی که نام برده شد اگر در این محل ذخیره شوند در تمام صفحات Solution فابل دسترسی هستند. نکته قابل توجه در مورد این فولدر اینست که وقتی چیزی را در این مکان قرار میدهید VS2005 خودکار آنرا تشخیص میدهد و به نوع دلخواه و مطلوب آنرا کامپایل میکند.
برای ایجاد این فولدر روی Solution کلیک راست کنید و Add folder=>App_code folder را انتخاب کنید. روی فولدر ایجادی نیز کلیک راست کرده و Add New Item را انتخاب کنید. در اینجا امکان انتخاب محدودی دارید بین فایلهایی از نوع کلاس ، متنی، دیتاست، گزارش و دیاگرام کلاس. برای مثال فایل کلاس را انتخاب کنید و نام آن را Calculator.cs بگذارید و در آن کد زیر را بنویسید :

Using system;
Public class Calculator
{
Public int Add (int a, int b)
{ Return (a+b); }
}

فقط آنرا ذخیره کنید و حالا میتوانید در هر صفحه ای از Solution از این کد استفاده کنید. مثلا یک صفحه .aspx بسازید و روی آن فقط یک Label بگذارید و در رویداد Page_Load آن کد زیر را بگذارید :

Protected void Page_Load (object sender, System.EventArgs e)

Calculator myCalc = new Calculator ();
Label1.Text = myCalc.Add (12, 12).Tostring ();
}

وقتی این صفحه .aspx را اجرا میکنید توجه کنید که از کلاس Calculator بدون هیچ مشکلی استفاده میکند و احتیاجی به کامپایل آن پیش از استفاده ندارد. در واقع درست پس از ذخیره این کلاس ، همزمان قابلیت IntelliSense در متدهایی که کلاس پوشش میدهد قابل استفاده است.
حال فولدر App_Code و کلاس Calculator را دوباره باز کنید و متدی به نام Subtract را با کد زیر به آن اضافه کنید:

Public int Subtract (int a, int b)
{
Return (a – b) ;
}

فایل را ذخیره کنید و به صفحه .aspx برگردید . توجه کنید که کلاس دوباره کامپایل شده و متد جدید نیز در صفحه از طریق IntelliSense قابل دسترسی است.
هر آنچه در این فولدر گذاشته شود در یک اسمبلی تک کامپایل میشود. فایلهای کلاسی که در این فولدر هستند لازم نیست یک زبان ویژه را بکار ببرند یعنی اگر حتی تمام صفحات با VB نوشته شوند ، کلاس Calculator در فولدر App_Code می تواند به زبان C# باشد. البته اگر چند کلاس به زبانهای مختلف می خواهید داشته باشید نباید همه آنها را در ریشه این فولدر و در کنار هم قرار دهید. برای اینکه قادر باشید مثلا دو زبانVB و C# را کنار هم قرار دهید باید تغییرات زیر را انجام دهید :
ابتدا در شاخه App_Code دو زیر شاخه جدید بسازید مثلا به نامهای VB و CS و کلاسهای موردنظرتان را در شاخه مربوطه قرار دهید.
                    \ App_Code 
               \ VB
        Add.vb
               \ CS
  Subtract.cs
سپس در Web.Config (که باید خودتان به Solution اضافه کنید) بخش را بصورت زیر تبدیل کنید :

  
     
     
  


حالا شما می توانید هر کدی را به این دو زبان بنویسید و در شاخه های مرتبط قرار دهید و البته لزوما این دو شاخه نباید VB و CS باشند.

در انتها دوباره از ققنوس عزیز سپاسگذارم .. جواب سوالهارو ایشون دادن... من فقط app_code folder رو نوشتم... بقیه اش تقصیر من نیس... :ی....

شاد باشین....
+ نوشته شده در  پنجشنبه بیست و پنجم مرداد 1386ساعت 0:21  توسط آتاناز  | 
تا حالا در مورد استفاده از بانکهای اطلاعاتی در برنامه های ویندوز صحبت کردیم. مبحث رو با استفاده از بانکهای اطلاعاتی در صفحات وب ادامه میدیم. در این مقاله از بانک اطلاعاتی Northwind استفاده می کنیم که بطور پیش فرض در SQL Server وجود داره. اگرم که Northwind نصب نشده و به هر دلیلی اونو تو سیستم ندارید بگید تا SQL اونو براتون تو وبلاگ بذارم تا دانلود کنید. 
قبل از اینکه ادامه بدم فقط اینو به دوستان بگم که بزودوی ادامه مطالب مربوط به .NET 3 رو ادامه میدم. بعد از دو قسمت که در مورد WF صحبت خواهم کرد سراغ WPF میرم. 


نمایش اطلاعات بانکهای اطلاعاتی در صفحات وب
در این مقاله سعی شده است تا بصورت قدم به قدم نحوه نمایش اطلاعات مورد نیاز در صفحات وب را باهم مرور کنیم.

  1.  VS2005 را اجرا کنید و از منوی فایل گزینه New\Web Site را انتخاب نمایید تا پنجره New Web Site نمایش داده شود.
  2. در این پنجره ASP.NET Web Site را انتخاب نمایید. Location را روی FileSystem و Language را روی C# تنظیم کنید و سپس کلید OK را کلیک نمایید.
  3. در این مثال برای نمایش اطلاعات از DataGrid استفاده می کنیم. به همین منظور از Toolbox بخش Data گزینه GridView را انتخاب نمایید (در حالت Design) و آن را روی صفحه وب درگ کنید.
  4. روی GridView کلیک راست نموده و گزینه Show Smart Tag را انتخاب نمایید. از منوی نمایش داده شده گزینه Choose Data Source را باز نموده و را انتخاب نمایید. پنجره Data Source Configuration wizard باز می شود.
  5. در پنجره باز شده گزینه Database را انتخاب نمایید. برای DataSource انتخاب شده می توانید ID تعیین کنید. این ID بطور پیش فرض مقدار SqlDataSource1 را دارد. کلید Ok را انتخاب نمایید.
  6. در پنجره بعد کلید New Connection را کلیک کنید. پنجره Add Connection باز می شود.
  7. در این پنجره گزینه Server Name را باز نموده و نام Server مورد نظرتان را انتخاب نمایید. قسمت Select or Enter Database Name را باز نموده و Northwind را انتخاب نمایید. با انتخاب کلید Test Connection می توانید صحت عملیات انجام شده را بررسی کنید. کلید Ok را کلیک نمایید.
  8. در پنجره Configure Data Source کلید Next را کلیک کنید. در صفحه جدید در صورتی که گزینه Yes, Save this connection as انتخاب نشده باشد، آن را انتخاب نمایید. نام پیش فرض برای ConnectionString را قبول نموده و کلید Next را کلیک کنید. با این کار مقدار ConnectionString در فایل Web.Config ذخیره می شود. ذخیره آن در فایل تنظیمات دو مزیت دارد: یکی اینکه امنیت بیشتری دارد. دوم اینکه استفاده از آن در صفحات دیگر به راحتی امکان پذیر است. کلید Next را انتخاب نمایید.
  9. در صفحه بعد گزینه Specify Column from table or view را به حالت انتخاب درآورده و گزینه Name (نام جدول مورد نظر) را روی Customers تنظیم کنید. با این کار فیلدهای جدول انتخاب شده (در اینجا جدول Cusomers) در لیست Columns نمایش داده می شود. از این لیست فیلدهای CusomerID و CompanyName و City را انتخاب کنید. کلید Next را کلیک نمایید.
  10. در صفحه جدید با انتخاب کلید Test Query می توانید از صحت عملیات تا اینجا اطمینان حاصل نمایید. پس از آن کلید Finish را انتخاب نمایید.
  11. در اینجا مرحله اول صفحه وب ما آماده شده است. شما می توانید با اجرای این برنامه صفحه وب و اطلاعات مورد نظرتان را در آن ببینید.
پس از اجرا خواهید دید که همه اطلاعات از جدول مورد نظر به یکباره در صفحه نمایش داده می شود و این چندان برای یک صفحه وب مناسب نیست. برای این کار می توان از امکانات صفحه بندی موجود در GridView استفاده نمود. برای این کار از منوی Show Smart Tag گزینه Enable Paging را انتخاب نمایید. اجازه دهید تا اینجا هستیم گزینه Enable Sorting را نیز انتخاب کنیم. با انتخاب این گزینه محتویات Gridview بصورت مرتب شده نمایش داده می شود.
حالا با اجرای برنامه، اطلاعات شما بصورت صفحه بندی شده و مرتب نمایش داده می شود.

فیلتر کردن اطلاعات
هدف از این مرحله امکان فیلتر کردن اطلاعات با توجه به شهر مورد نظر کاربر می باشد. بدین منظور باید مراحل زیر را قدم به قدم انجام دهید:

  1. از Toolbox بخش Standard یک عدد TextBox و یک Button روی صفحه قرار دهید. ID مربوط به TextBox را به txtCity و Button را به btnSubmit تغییر دهید. خاصیت Text مربوط به Button را به Submit تغییر دهید.
  2. کنترل SqlDataSource موجود در صفحه را به حالت انتخاب درآورده و از منوی Smart Tag آن گزینه Configure Data Source را انتخاب نمایید.
  3. در پنجره جدید با توجه به انتخاب بودن گزینه NorthwindConnectionString کلید Next را کلیک کنید.
  4. در پنجره جدید کلید WHERE… را انتخاب نمایید. پنجره Add Where Clause نمایش داده می شود. در این پنجره گزینه Column را روی City و Operator را روی = و Source را روی Control قرار دهید. اکنون گزینه ControlID را روی txtCity تنظیم کنید. با این کار در حقیقت تعیین می کنیم که از مقدار کدام کنترل برای شرط WHERE استفاده نماید.
  5. در همان پنجره کلید Add را انتخاب نمایید. تا شرط مورد نظر به لیست شروط اضافه شود. با انتخاب کلید Ok به پنجره Configure Data Source برمی گردیم. در این پنجره کلید Next را کلیک نمایید.
  6. در پنجره Test Query با استفاده از کلید Test Query می توان نتیجه عملیات تا اینجا را مشاهده نمود. با این تفاوت که در اینجا مقدار فیلد مشخص شده در WHERE از شما پرسیده می شود. برای تست می توانید مقدار London را وارد نمایید. پس از انجام تست، کلید Finish را کلیک کنید.
پس از اجرای برنامه، فقط TextBox و کلید نمایش داده می شوند. نام شهر London را وارد نموده و کلید Submit را کلیک نمایید. خواهید دید که Gridview نمایش داده شده و محتویات آن همه دارای مقدار London در فیلد City خود هستند. همه این کارها بدون نوشتن حتی یک خط کد انجام شد!

منبع: MSDN
+ نوشته شده در  دوشنبه هجدهم تیر 1386ساعت 22:48  توسط ققنوس  | 
كد نويسي مستقيم سي شارپ در صفحه هاي ASP.NET
بدون مقدمه مي رم سراغ اصل مطلب و از اينجا شروع مي كنم كه اين كد نويسي چي مزايايي نسبت به كدنويسي اصطلاحا Behind Code داره

مزاياي كدنويسي مستقيم Inline codeing
حتما شده كه يك صحفه اي رو آپلود كنيد و پس از آپلود بخواهيد فقط يك متد از متدهاي سايت يا متدهاي صفحه رو تغيير بديد. اگر اينطوري هست حتما ديديد كه بابت اين تغيير كوچيك بايد كل DLL را آپلود كنيد. تازه با اين خطهاي داغون مخابرات كه واويلاس. استفاده كدنويسي مستقيم باعث ميشه كه شما DLL رو دست نزنيد و تغيير مورد نظرتون رو روي سايت انجام بديد. كاربردهاي ديگه اي هم اين بحث داره كه من فقط روي مشكل ايراني بودن خودمون خواستم دقت كرده باشم.
خوب حتما منتظرريد بدونيد كه چطوري ميشه كدهاي سي شارپ رو در متن صفحه ASP.NET نوشت. كار بسيار راحتي هست. كافيه كه يكبار اين كار رو تجربه كنيد و ديگه همه چي تمومه. براي شروع من مي خوام صفحه اول سايت رو به يك آدرس ديگه تغيير بدم (بطور مثال مشكلي در سايت پيش اومده كه فعلا نميشه سايت رو ديد و براي رفع اين مشكل بهترين كار اينه كه سايت رو Redirect كنم). دستور مورد نياز براي اين موضوع (Response.Redirect(URL است كه حتما با اون آشنايي داريد. منظور از URL آدرسي است كه صفحه شما بايد به اونجا حركت كنه. براي اين منظور كد مورد نظر براي رويداد Page_Load رو مي نويسيم. اگر با اين مشكلي داريد مي تونيد بريد داخل كد سي شارپ و بعد كد رويداد رو همراه با تعريف رويداد با هم كپي كنيد داخل متن صفحه. اما كجاي صفحه؟ خوب كافيه قبل از تگ HTML اون كد رو كپي كنيد. اما IE چطوري ميفهمه كه اين كد همون كد رويداد Page_Load هست؟ خوب اينهم خيلي ساده هست! يك تگ تعريف اسكريپت براي اون بذاريد و همه چي تمومه. البته اين تگ حتما بايد خصوصيت "runat="server رو داشته باشه.
نمونه كد نوشته شده براي تغيير مسير به صفحه جديد در رويداد Page_Load:


خوب تمومه ديگه. حالا هر كدي رو مي خوايد بنويسيد.
+ نوشته شده در  دوشنبه بیست و چهارم اردیبهشت 1386ساعت 19:55  توسط کنستانتین  | 
استفاده از Server.Mappath براي بدست آوردن مسيرهاي بالاتر از ريشه سايت
چند وقت پیش یکی از دوستان یک هاست رایگان گرفته بود و در این هاست می خواست که مسیر پوشه بانک اطلاعاتی رو از طریق کد بدست بیاره. من هم یک کد کوچولو نوشتم و بعد فکر کردم که این موضوع ممکنه بدرد خیلی افراد دیگه ای بخوره.
خوب اولین چیزی که به نظر میرسه اینه که خوب میشه از متد Server.MapPath استفاده کرد. اگر از این متد بخواهید استفاده کنید فقط می تونید مسیرهایی رو بدست بیارید که فقط داخل مسیر Webroot قرار دارند و این نکته استفاده از متد Server.MapPath هست. برای بدست آوردن مسیرهای بالاتر از ریشه سایت مثل DB که مورد نظر ماست باید یه چند خط کد اضافه بنویسید. برای این منظور ابتدا مسیر سایت رو بدست می آوریم که دقیقا مثلا Webroot هست بعد رشته مسیر بدست آمده رو برش می زنیم و Webroot رو از اون جدا می کنیم و بعد هم مسیر DB رو به اون اضافه می کنیم. با استفاده از همین روش می تونید هر مسیری رو که می خواهید در سرور هاست بدست بیارید. من برای راحتی کار این کد رو نوشتم:

string dbFilePath = "";
dbFilePath = Server.MapPath("");
dbFilePath = dbFilePath.Substring(0, dbFilePath.LastIndexOf("\\"));
dbFilePath = dbFilePath + "\\db";

+ نوشته شده در  دوشنبه دهم اردیبهشت 1386ساعت 20:21  توسط کنستانتین  | 
سلام این پست من خیلی با برنامه ریزی همراه نیست. مشغول گشت و گذار در اینترنت بودم که یک خبر جدید رو دیدم. گفتم بد نیست دوستان رو هم در جریان بگزارم.

سال گذشته کنفرانس MIX06 بود كه در خصوص Web 2.0 برگزار شد. امسال هم اين كنفرانس برگزار خواهد شد. موضوع كنفرانس MIX07 در خصوص موبايل و سيستمهاي برنامه ريزي داخلي دستگاه هاي همراه است. در كنار MIX07 يك كنفرانس ديگر هم برگزار مي شود با عنوان زير:

Microsoft’s Mobile and Embedded DevCon (MEDC) 2007

اين كنفرانس مجموعه اي از بهترين ها رو در خودش جمع كرده و انجمن هاي زيادي به همديگر پيوسته و بروي موارد مختلفي تمركز خواهند داشت از جمله: آموزشهاي گروهي انجمن ها، با اشتراك گزاري دانش و ابزارهاي كاربردي توسعه دهنده كه بيش از 130 جلسه تكنيكال و آزمايشگاه را شامل مي شود.

هزينه شركت در كنفرانس MEDC فقط 395 دلار و زمان اون سه روز در يكي از هتلهاي شهر لاس و گاس هست.

شركت كنندگان MIX07 عبارتند از:

توسعه دهندگان، طراحان، مبلغين و منتشرين، ارائه كنندگان نرم افزار و سرويسهاي نرم افزاري، رسانه و تكنولوژي، تلويزيون و كامپيوتر، كامپيوتر و دستگاه هاي همراه، توليد كنندگان و مصرف كنندگان.

دو تا از شخصيتهاي اصلي اين كنفرانس عبارتند از:

Ray Ozzie, Chief Software Architect, Microsoft Corporation
Scott Guthrie, General Manager, Microsoft Corporation

آدرس سایتش اینه:

http://www.visitmix.com

+ نوشته شده در  سه شنبه هشتم اسفند 1385ساعت 10:15  توسط کنستانتین  |