PDA

View Full Version : آموزش: آموزش کد های کاربردی ASP.net



Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 01:05 صبح
سلام به همه دوستان :لبخندساده:
با اجازه از دوستان پیشکسوت , حرفه ای و سابقه دار در این تالار می خوام با ایجاد این تاپیک و
با گذاشتن کد هایی که از سر تجربه حاصل شده و با همکاری دوستان کمک کوچکی به خانواده ASP.NET بکنم .

هدف:
رفع مشکل کدی دوستان ( تاکید می کنم فقط مشکل کدی) . مطرح نکردن مشکلاتی از قبیل راهنمایی , مشورت , .... خودداری کنید.

روند کار:
1:اگه نیاز به کدی دارید لطفا بضورت پیام خصوصی به من اطلاع بدبد که پست شلوغ نشه
2:سعی می کنم هر روز کدی جدید رو در این تاپیک قرار بدم

از مشارکت دوستان دیگر استقبال می کنیم :چشمک:
__________________________________________________ ______________________

آموزش ها:





پست شماره 2: چگونگی تغییر رنگ TextBox هنگام رخ دادن Validation
پست شماره 3: افکت گذاری روی UpdatePanel
پست شماره 4: ذخیره هر نوع فایل در بانک اطلاعاتی
پست شماره 5: اسکریپت محاسبه نظرات کاربران در سایت
پست شماره 6: گرفتن محتویات Input Text از طریق Behind Code
پست شماره 7: نمایش محتویات ستونی از GridView که مخفی شده است ((invisbile
پست شماره 8: استفاده از تاریخ یه فرمت های مختلف
پست شماره 9: گرفتن اطلاعات از Gridview,Datalist ,.. بعد از کلیک
پست شماره 10:کارکردن با کنترل ValidatorCallout
پست شماره 11:پیدا کردن کنترل در DetailsView ,Gridview, Datalist و ....
پست شماره 12:Gradient BGColor بدون استفاده از عکس
پست شماره 13: (فیلم آموزشی) TreeView با استفاده از XML
پست شماره 14:استفاده از CheckBox در کنترل های Data
پست شماره :15فرستادن مقادیر از GridView و همزمان از کنترل های دیگر
پست شماره 16:Download هر نوع فایل (دانلود واقعی)(باز شدن )Save Dialog
پست شماره 17:تغییر Config کنترل FCKEditor]
پست شماره 18:غیر فعال کردن Item از GridView
پست شماره 19:استفاده از UrlRewriting
پست شماره 20:استفاده هم زمان از تابع Confirm و RequiredFieldValidator
پست شماره 21:اضافه کردن متن و عکس به Button
پست شماره 22:مخفی کردن Input Text به دوروش
پست شماره 23:مشکل قبل از Restore
پست شماره 24:Bind کردن کنترل هایی مثل GridView و DropDownList با آرایه , لیست و ...
پست شماره 25:پر کردن Gridview با شرط
پست شماره 26:TreeView با قابلیت داشتن RadioButton
پست شماره 27:تغییر محتویات کنترل های Datalist قبل از نمایش
پست شماره 28:انداختن عکسی روی عکس دیگر
پست شماره 30:رفع مشکل بهم ریختگی Menu در مرورگر chrome
پست شماره 31: خطای Login failed for user 'IIS APPPOOL\ASP.NET v4.0'
پست شماره 32: ایجاد Thumbnail از عکس ها (عکس های reisze شده)
پست شماره 33:انتقال مقدار از صفحه دوم به صفحه اول بدون page load در صفحه اول
پست شماره 34:راه اندازی اولیه Membership (جدید)

Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 01:12 صبح
چگونگی تغییر رنگ TextBox هنگام رخ دادن Validation
__________________________________________________ _______________________

با سلام

برای انجام این کار نمی توان از کنترل ReqireFieldValidation استفاده کرد
اضافه کردن کد های زیر در Editor Html :

<asp:CustomValidator ID="CustomValidator1" runat="server" ErrorMessage=""
ControlToValidate="TextBox1" ClientValidationFunction="ValidateTextBox"
OnServerValidate="CustomValidator1_ServerValidate"
ValidateEmptyText="True"></asp:CustomValidator>

<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>

<script src="jquery-1.2.6.js" type="text/javascript"></script>
<script type="text/javascript">
function ValidateTextBox(source, args)
{
var is_valid = $("#TextBox1").val() != "";
$("#TextBox1").css("background-color", is_valid ? "white" : "red");
args.IsValid = is_valid;
}
</script>
اضافه کردن Behind COde :

Protected Sub CustomValidator1_ServerValidate(ByVal source As Object, ByVal args As System.Web.UI.WebControls.ServerValidateEventArgs) Handles CustomValidator1.ServerValidate

Dim is_valid As Boolean = TextBox1.Text <> ""
TextBox1.BackColor = If(is_valid, Color.White, Color.Red)
args.IsValid = is_valid

End Sub____
منبع (http://stackoverflow.com/questions/196859/change-text-box-color-using-required-field-validator-no-extender-controls-please)

فایل برنامه هم قرار دادم
موفق باشید :چشمک:

Ali_M.Eghbaldar
پنج شنبه 21 مرداد 1389, 15:12 عصر
افکت گذاری روی UpdatePanel
__________________________________________________ _______

سلام
می خوام روشی یاد بدم که موقع انجام کار در UpdatePanel کاربر تغییر فوری UpdatePanel را احساس نکنه

این کار توسط UpdatePanelAnimation از ابزار های AjaxTooltik انجام میشه
می تونید از اینجا (http://www.ASP.NET/ajaxlibrary/download.ashx)دانلود کنید

1: اضافه کردن UpdatePanelAnimation ,UpdatePanel , Scriptmanager
2: اضافه کردن Button و Label به UpdatePanel
3: ست کردن خاصیت

TargetControlID="updatepanel1"(با این کار خود به خود UpdatePanelAnimation ناپدید می شود)
4:اضافه کردن کد های زیر به UpdatePanelAnimation

<Animations>
<OnUpdating>
<Color duration="1" startvalue="#ffffff" endvalue="#999999" property="style" propertykey="backgroundColor"
/>
</OnUpdating>
<OnUpdated>
<Color duration="1" startvalue="#999999" endvalue="#ffffff" property="style" propertykey="backgroundColor"
/>
</OnUpdated>
</Animations>اضافه کردن کد زیر در button :

Label1.Text="OK?"نکته : به علت زیاد بودن حجم DLL مذبور : AjaxTooltikControl خودتان بعد از دانلود آن را در پوشه Bin قرار دهید

Ali_M.Eghbaldar
جمعه 22 مرداد 1389, 22:14 عصر
ذخیره هر نوع فایل در بانک اطلاعاتی
__________________________________________________ ______________

با سلام :لبخندساده:
چند وقتی بود تاپیکی با عنوان ذخبره و بازیابی فایل در خود بنکم اطلاعاتی می دیدیم
تصمیم گرفتم در این تاپیک در این مورد صحبت کنم

معایب این کار:
1: اشغال شدن حجم بانک
2:پیمایش سخت
3:کد نویسی سخت و پیچیده

مزایا این کار:
1:امنیت
2: Clean بودن فضا

نکته: حتما روش های دیگری غیر از روش حاضر وجود خواهد داشت

نکته:بانک این مثال SQL Server 2000 می باشد

نکته: در این روش از ContentType های فایل استفاده می شود.فرضا ContetnType های تصویر بصورت زیر است:


<% Response.ContentType = "image/GIF" %>
<% Response.ContentType = "image/JPEG" %>
<% Response.ContentType = "image/JPEG" %>

مثلا برای PDF ها :

<% Response.ContentType = "Application/pdf" %>


من در این مثلا فرض کردم تمام فایل آپلود شده از نوع تصویر هستند شما بر حسب نیاز خودتون می توند ConentType تغییر بدید
نکته: برای انعطاف بیشتر می تونید فلیدی داشته باشد و نوع فایل توش قرار بدید و موقع خوندن اونو بررسی کنید و بر حسب اون فایل فراخوانی کنید :چشمک:

اسکریپت جدول:


CREATE TABLE [dbo].[tFile] (
[ID] [int] IDENTITY (1, 1) NOT NULL ,
[File] [image] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO


برای درج داریم:

If FileUpload1.HasFile Then
Using myConnection As New SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True")
Const SQL As String = "insert into tFile([file]) values (@file)"
Dim myCommand As New SqlCommand(SQL, myConnection)
Dim imageBytes(FileUpload1.PostedFile.InputStream.Leng th) As Byte
FileUpload1.PostedFile.InputStream.Read(imageBytes , 0, imageBytes.Length)
myCommand.Parameters.AddWithValue("@file", imageBytes)
myConnection.Open()
myCommand.ExecuteNonQuery()
myConnection.Close()
End Using


برای فراخوانی داریم:

Using myConnection As New SqlConnection("Data Source=.;Initial Catalog=test;Integrated Security=True")

Const SQL As String = "SELECT [file] FROM [tfile] WHERE [id] = 4"
Dim myCommand As New SqlCommand(SQL, myConnection)
myConnection.Open()
Dim myReader As SqlDataReader = myCommand.ExecuteReader
If myReader.Read Then
Response.ContentType = "image/jpg"
Response.BinaryWrite(myReader("file"))
End If

myReader.Close()
myConnection.Close()
End Using

فایل پروژه ضمیمه شده است

Ali_M.Eghbaldar
یک شنبه 24 مرداد 1389, 15:38 عصر
اسکریپت محاسبه نظرات کاربران در سایت
__________________________________________________ _________________________

سلام به همه
با اینکه استقبال خاصی نمیشه ولی همچنان ادامه می دهیم :لبخندساده:
حتما دوستان این مطالب بلدم - انشاالله :افسرده:

خوب امروز می خوام در مورد محاسبه درصد ( حالا تو این مثال خاص Rating مطرح شده و منظور روند کاره) صحبت کنم و براتون یک StoreProcedure ساده و کاربردی از محاسبه درصد نظر خواهی افراد بزارم

فرمولش که دیگه همه می دومنن :لبخند:

(هر مقدار مشخص / تعداد کل ) × 100اسکریپ ساخت جدول:


CREATE TABLE [dbo].[Tbl_GoodsRating] (
[ID] [bigint] IDENTITY (1, 1) NOT NULL ,
[Rate] [int] NULL
) ON [PRIMARY]
GO

نکته: در این مثال فرض بر این است که فقط یک کالا داریم و فقط در مورد آن نظر خواهی می کنیم
شما می توانید آنرا گسترش دهید

اسکریپت اصلی:

declare @Count_Rate bigint
declare @R1 bigint; declare @R2 bigint ; declare @R3 bigint ; declare @R4 bigint ; declare @R5 bigint
SET @Count_rate = (select count(*) from tbl_goodsrating where id_goods=2)
SET @R1 = (select count(*) from tbl_goodsrating and [RATE]=1)
SET @R2 = (select count(*) from tbl_goodsrating and [RATE]=2)
SET @R3 = (select count(*) from tbl_goodsrating and [RATE]=3)
SET @R4 = (select count(*) from tbl_goodsrating and [RATE]=4)
SET @R5 = (select count(*) from tbl_goodsrating and [RATE]=5)
select
Left(cast(round((@R1*1.0/@Count_Rate)*100,1) as varchar),4) as 'Rate1',
Left(cast(round((@R2*1.0/@Count_Rate)*100,1) as varchar),4) as 'Rate2',
Left(cast(round((@R3*1.0/@Count_Rate)*100,1) as varchar),4) as 'Rate3',
Left(cast(round((@R4*1.0/@Count_Rate)*100,1) as varchar),4) as 'Rate4',
Left(cast(round((@R5*1.0/@Count_Rate)*100,1) as varchar),4) as 'Rate5'

Ali_M.Eghbaldar
چهارشنبه 27 مرداد 1389, 16:37 عصر
گرفتن محتویات Input Text از طریق Behind Code

به در خواست کاربر: mahdyeh (http://www.barnamenevis.org/forum/member.php?u=32822)
__________________________________________________ _______________

با سلام
در این پست می خوام محتویات کنترل HTML Input Text از طریق کدنویسی بدست بیارم:

HTML CODE:


<input id="Text1" type="text" name='Text1'/>

BEHIND CODE:

Response.Write(Request.Form["Text1"]);

Ali_M.Eghbaldar
چهارشنبه 27 مرداد 1389, 18:17 عصر
نمایش محتویات ستونی از GridView که مخفی شده است (invisbile)
__________________________________________________ ________

سلام
فرض کنیم شما یکی از ستون های Gridview مخفی کردید حالا می خوان اون Cell نشون بدبد
چون مخفیه نمی تونید از دستور زیر استفاده کنید


lbl.text=DG.row(index).cells(2).text
نکته: فرض میکنیم ستون شماره 2 مخفی شده است

1.ابتدا اون ستون را به TemplateControl تبدیل می کنید


<asp:TemplateField HeaderText="news" SortExpression="news" Visible="False">
<ItemTemplate>
<asp:Label ID="lblnews" runat="server" Text='<%# Bind("news") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

2:سپس با کد زیر اونو می خونیم :لبخند::

lblShow.Text = CType(DG.Rows(e.NewSelectedIndex).FindControl("lblnews"), Label).Text

Ali_M.Eghbaldar
دوشنبه 01 شهریور 1389, 01:46 صبح
استفاده از تاریخ به فرمت های مختلف
__________________________________________________ _____________

با سلام
می دونم ممکنه موضوع تکراری انتخاب کرده باشم ولی امیدوارم به درده کسی بخوره .
فرمت های که این کلاس خروجی میده بصورت زیره:
__
من کلا قصد دارم کد های جدید و نا شناخته بزارم :لبخند: ولی اگه دوستان بخوان منم از این نمونه ها ناچارم بزارم براساس قانون پستم :گیج: دیگه شرمنه خیلی خیلی تکراریه :افسرده::خجالت::خجالت:


دو شنبه 26 مرداد 1388با کد:

'TextBox1.Text = ShamsiDate.Miladi2Shamsi(Now, ShamsiDate.ShowType.LongDate)
1388/5/26با کد:

TextBox1.Text = ShamsiDate.Miladi2Shamsi(Now, ShamsiDate.ShowType.ShortDate)

'جمعهو

'فروردین

::::::: در ادامه دوستم imanasp (http://barnamenevis.org/forum/member.php?u=67000) درخواستی داشتن منوط به اینکه چیکار کنم اعداد فارسی بشه؟
2 تا راه داره اول اینکه اعداد فارسی در بانک بریزیم و راه دوم اینکه اعداد لاتین در بانک بریزیم ولی موقع خوندن فارسیش کنیم که من راه دوم پیشنهاد می کنم !! به دلایلــــی
برای این کار بعد از خواندن عدد تاریخ باید با استفاده از متد زیر اونو به فارسی تبدیل کنید


private string ConvertNumLa2Fa(string num)
{
string result = string.Empty;
foreach (char c in num.ToCharArray())
{
switch (c)
{
case '0' :
result += "٠";
break;
case '1':
result += "١";
break;
case '2':
result += "٢";
break;
case '3':
result += "٣";
break;
case '4':
result += "٤";
break;
case '5':
result += "٥";
break;
case '6':
result += "٦";
break;
case '7':
result += "٧";
break;
case '8':
result += "٨";
break;
case '9':
result += "٩";
break;
default:
result += c;
break;

}
}
return result;
}

Ali_M.Eghbaldar
پنج شنبه 04 شهریور 1389, 14:31 عصر
گرفتن اطلاعات از Gridview,Datalist ,.. بعد از کلیک
__________________________________________________ ______________
با سلام
این بحث در انواع تاپیکا مطرح شد ولی من می خوام با یک مثال اونو کامل توضیح بدم
امیدوارم بدرتون بخوره

نکته : این روش تمام کنترل های سربرگ DATA را شامل می شود ولی من یا GridView تست می کنم

1:ایجاد Gridview
2:وصل کردن به بانک ( هر روشی شد فقط اگه از ابتدا با SqlDataSource برید جلو بهتره )
3:اضافه کردن یک کنترل به Gridview حالا مثلا ImageButtom
4:تبدیل ImageButton به Template



<asp:TemplateField>
<ItemTemplate>
<asp:ImageButton ID="Image_Edit" runat="server" CausesValidation="False"
CommandArgument='<% #Eval("ID","{0}") %>'
imageUrl="~/Content/Images/edit.gif"
OnCommand="Edit_Goods" />
</ItemTemplate>
<HeaderStyle HorizontalAlign="Right" />
<ItemStyle HorizontalAlign="Left" />
</asp:TemplateField>
نکات:
برای اینکه بتوانیم اطلاعات هر رکورد را بدست بایوریم نیاز به Field کلیدی داریم که در اینجا ID این کار را برای ما انجام می دهد
تعاریف:
CommandArgument : پاس دهنده ی فیلد کلیدی ID هر رکورد بعد از کلیک
OnCommand : پروسجری که در Behind Code نوشه می شود

4:نوشتن کد در Behind Code:


Public Sub Edit_Goods(ByVal sender As Object, ByVal e As CommandEventArgs)
response.write(e.CommandArgument))
End Sub
شما با بررسی ID میتونید تغییرات لازم بدی

Ali_M.Eghbaldar
جمعه 05 شهریور 1389, 13:16 عصر
کارکردن با کنترل ValidatorCallout
(از سری کنترل های Tooltik برای validation در Updatepanel
(
به در خواست دوستم samira3 (http://www.barnamenevis.org/forum/member.php?u=36008)

خداشاهده اصلا وقت نیست شرمنده دیر شد :خجالت:
__________________________________________________ ______________________________

سلام
ما از کنترل RequireFieldValidator داخل UpdatePanel نمی تونیم استفاده کنیم راهش عملیات زیره: :لبخند:

0:اضافه کردن ScriptManager
1:اضافه کردن UpdatePanel
2:اضاقه کردن TextBox (داخل UpdatePanel)
3:اضافه کردن کنترل RequireFieldValidator (داخل UpdatePanel)
4:اضافه کردن ValidatorCallout (داخل UpdatePanel)

روند کار:
TExtbox ما طبق معمول به کنترل RequireFieldValidator وصل می شود :

ControlToValidate="TextBox1"

کنترل RequireFieldValidator به ValidatorCallout وصل می شود:


TargetControlID="RequiredFieldValidator1"

نکته:کنترل ValidatorCallout ناپدید میشه

ست کردن خاصیت Animation کنترل ValidatorCallout:

<OnShow>
<Sequence>
<HideAction Visible="true" />
<FadeIn Duration="1" MinimumOpacity="0" MaximumOpacity="1" />
</Sequence>
</OnShow>
<OnHide>
<Sequence>
<FadeOut Duration="1" MinimumOpacity="0" MaximumOpacity="1" />
<HideAction Visible="false" />
</Sequence>
</OnHide>

Ali_M.Eghbaldar
سه شنبه 09 شهریور 1389, 09:51 صبح
از دوستان خواهش کردم که لطفا پست خراب نکنند !! :افسرده:
__________________________________________________ ___________________
پیدا کردن کنترل در DetailsView ,Gridview, Datalist و ....
__________________________________________________ ___________________

با سلام

طرز کار»

1:Bind کردن هر کدام از کترل های بالا به بانک

2:هر کدام از فیلد هایی را که میخواهید مقدار آن را بدست بیاورید را باید Convert this field into a TemplateField کنید و برای آن اسمی را قرار دهید ( در ID )

مانند کد زیر:

<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
DataKeyNames="ID" DataSourceID="SqlDataSource1" Height="50px" Width="125px">
<Fields>

<asp:TemplateField HeaderText="ID" InsertVisible="False" SortExpression="ID">
<EditItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ID") %>'></asp:Label>
</EditItemTemplate>
<ItemTemplate>
<asp:Label ID="lblID" runat="server" Text='<%# Bind("ID") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>

<asp:BoundField DataField="Name" HeaderText="Name" SortExpression="Name" />
<asp:BoundField DataField="Detail_lid" HeaderText="Detail_lid"
SortExpression="Detail_lid" />

</Fields>
</asp:DetailsView>

حالل با استفاده از کد زیر می توانیم مقدار lblID که Template کردیم را بدست آوریم :

Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
Response.Write(CType(DetailsView1.FindControl("lblID"), Label).Text)
End Sub

Ali_M.Eghbaldar
سه شنبه 09 شهریور 1389, 16:28 عصر
Gradient BGColor بدون استفاده از عکس

دوست خوبم raika17meta (http://www.barnamenevis.org/forum/member.php?u=39813) عنوان پستشو گذاشته بود (بک گراند دورنگ) :لبخند: نمی دونم عنوان درستی یا نه در هز صورت امید وارم بدرتتون بخوره ...

__________________________________________________ __________________________________________

این کدی که براتون گذاشتم داخل صفحه باعث میشه رنگ از یک رنگی مثل مشکی شروع بشه و کم کم به سفید برسه که بهش می گن : Gradient
البته این کارو با یک عکس باریکم میشه انجام داد و خوب شرایط خاص خودشو می طلبه


<style type="text/css">
body {
background-color:#FFFFFF;
filter:progid:DXImageTransform.Microsoft.Gradient( GradientType=0,StartColorStr='#363636',EndColorStr ='#FFFFFF');
margin: 0px auto;
}
</style>
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;

ویرایش:

1: دوست من blackcats (http://barnamenevis.org/forum/member.php?u=77711) اول ا تشکر می کنم بابته پستت ولی خواهش کردم که اگه نکته ای , یا آورری , ایرادی , در خواستی و ... وجود داره و مایل به مطرح کردنش هستید با پیام بهم اطلاع بدبد ممنون میشم :اشتباه:

2:دوست دیگه من جناب آقای ali_shmki (http://barnamenevis.org/forum/member.php?u=80777) در تاپیک
http://barnamenevis.org/forum/showthread.php?p=1083495#post1083495
و در شماره پست 12
باید دقت کنند که کار نشد نداره مطمئنا اگه من ناقص بلد بودم یا بلد نبودم این پست ایجاد نمی کردم

کد Gradient در تمام مرورگر ها قابل اجراست
و بر خلاف گفته ی این دوستم

البته از css3 هم ميتونيد استفاده كنيد كه فعلا cross-browser نيست و همه مرورگر ها ساپورت نميكنند.اما به درخواست دوستان من پستمو کامل می کنم : :لبخندساده:

برای مرورگر IE داریم:


Filter: progid:DXImageTransform.Microsoft.gradient (GradientType=1, startColorstr=C#‎‎0ff3300, endColorstr=#ff000000); COLOR: green; HEIGHT: 120pxبرای مرورگر FireFox ورژن بالای 3.6 داریم:



background: -moz-linear-gradient(left, #efefef, #FFF);
برای مرورگر Chrome وSafari داریم :


background: -webkit-gradient(linear, left top, left bottom, from(#EFEFEF), to(#FFF));فکر نکنم دیگه مرورگره حرفه ای دیگه هم وجود داشته باشه !! :لبخند: تا همین جا کافیه !! یا علی

Ali_M.Eghbaldar
جمعه 12 شهریور 1389, 14:25 عصر
TreeView با استفاده از XML
__________________________________________________ _____________________________

سلام به همه برنامه نویسان عزیز :لبخند:

امروز براتون آموزش تصویری از راه اندازی TreeView با XML درست کردم و براتون می زارم
امیدوارم ازش استفاده کنید
در آموزش های بعدی سعی می کنم طرقیه وصل شدن TreeView و خواندن از بانک اطلاعاتی براتون بزارم البته استقبال خوب و دوستان نیاز داشتن !!

Source برنامه هم ضمینه کردم.


لینک دانلود فیلم:
http://www.eghbaldar.com/files/TreeView_with_XML.rar

Ali_M.Eghbaldar
شنبه 13 شهریور 1389, 18:45 عصر
استفاده از CheckBox در کنترل های Data
_______________________________________________
به در خواست nasim

سلام
امیدوارم بکارتون بیاد.

اسکریپت جدول:


CREATE TABLE [dbo].[t] (
[id] [int] IDENTITY (1, 1) NOT NULL ,
[name] [varchar] (50) COLLATE Albanian_CI_AI NULL ,
[shsh] [varchar] (50) COLLATE Albanian_CI_AI NULL ,
[address] [varchar] (50) COLLATE Albanian_CI_AI NULL
)

Ali_M.Eghbaldar
دوشنبه 15 شهریور 1389, 00:13 صبح
فرستادن مقادیر از GridView و همزمان از کنترل های دیگر
__________________________________________________ _________________
به درخواست دوستم sajjad1365 (http://barnamenevis.org/forum/member.php?u=34316)

کار سخت پیچیده ای نیست تقریبا همون کاری که در پست شماره 9 انجام دادیم

گرفتن مقدار از Gridview

<asp:TemplateField HeaderText="fdsf" SortExpression="code">
<ItemTemplate>
<asp:LinkButton
ID="LinkButton1"
OnCommand="Send"
CommandArgument='<%# Eval("name","{0}")%>'
runat="server">Eghbalar</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>

گرفتن مقدار و فرستادن آن به جایی دیگر:

Sub Send(ByVal sender As Object, ByVal e As CommandEventArgs)
Response.Redirect("Default.aspx?Vlaue1=" + TextBox1.Text + "&Value2=" + e.CommandArgument)
End Sub

Ali_M.Eghbaldar
دوشنبه 15 شهریور 1389, 21:01 عصر
Download هر نوع فایل (دانلود واقعی)
(باز شدن Save Dialog)
__________________________________________________ _________________

سلام به همه

منظورم از دانلود واقعی چیه:

در بیشتر حالات ما برای آنکه فایلی را دانلود کنیم از دستور زیر استفاده می کنیم


Response.redirect("FilePath")
در واقع قصد پرش به آن فایل را داریم که برای بعضی از فایل ها Save Dialog باز می شود مثل فایل های Zip َشده و برا یبعضی از فایل ها هم Page را مستقیم باز می کندمثل فایل های عکسی.
که درستش حالتی است که برای هر نوع فایلی Save Dialog ّباز شود

خوب از دستور زیر استفاده کنیم:

if targetFile.exists Then

Response.Clear
Response.AddHeader("Content-Disposition", "attachment; filename=" + targetFile.Name)
Response.AddHeader("Content-Length", targetFile.Length.ToString)
Response.ContentType = "application/octet-stream"
Response.WriteFile(targetFile.FullName)

End If

Ali_M.Eghbaldar
سه شنبه 16 شهریور 1389, 15:03 عصر
تغییر Config کنترل FCKEditor
__________________________________________________ _____________________________

با سلام

برای انجام تغییراتی بنیادی روی این کنترل مانند:
1: تغییر راست به چپ کردن
2:تغییر زبان پیش فرض
3:اضافه کردن Toolbar
4: کم و زیاد کردن Button ها
و .....
باید فایل fckConfig.js را تغییر دهیم :

بعنوان مثال:
برای تغییر راست چین و چپ چین:

FCKConfig.ContentLangDirection = 'rtl' ;
برای تغییر زبان پیش فرض:

FCKConfig.DefaultLanguage= 'fa' ;
برای اضافه کردن Toolbar:

FCKConfig.ToolbarSets["Short"] = [
['Cut','Copy','Paste'],
['Undo','Redo'],
'/',
['Bold','Italic','Underline','StrikeThrough'],
['Link','Unlink','Anchor'],
['Image'],
'/',
['FontName','FontSize'],
['TextColor','BGColor'],
] ;
برای کم و زیاد کردن Button های اجرایی:

FCKConfig.ToolbarSets["Default"] = [
['Source','-','Save'],
['Cut','Copy','Paste','Print'],

] ;

Ali_M.Eghbaldar
چهارشنبه 17 شهریور 1389, 23:39 عصر
غیر فعال کردن Item از GridView
در شرایطی خاص مثل حذف و ...
__________________________________________________ __________________
سوال دوستم karim orooji (http://www.barnamenevis.org/forum/member.php?u=91577)
با سلام
باید بگم سواله خیلی قشنگی بود - من که حال کردم
متن کامل سوال در پست زیر موجود است:
http://www.barnamenevis.org/forum/showthread.php?t=245473

ولی خلاصه ای از اون:

میخوام رو اون کنترول داشته باشم که زمانی که تعداد سطرهای گرید به 1 رسید اون
دکمه حذف بیاد خاموش بشه و اجازه پاک کردن فیلد رو نده

برای این کار باید روال RowCreated استفاده بشه فقط یک نکته:

چون این روال از ابتدا شروع به ساخت سطر ها میکنه نمیشه شرطی مانند زیر

If gridview1.rows.count.....
را براش اجرا کرد
بلکه شرط قبلا باید تایید شده باشه که دیگه اون با صلیقه شما ....
من از مقدار بولی استفاده کردم.

Dim b As Boolean = True

Protected Sub DG_RowCreated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles DG.RowCreated

If b Then
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(3).Enabled = False
End If
End If
End Sub

Ali_M.Eghbaldar
شنبه 20 شهریور 1389, 16:18 عصر
استفاده از UrlRewriting
دستکاری و بازنویسی URL
__________________________________________________ ____________________________

سلام به همه ی دوستان

کار با این متد در ASP.NET کاره سخته !!

در کنار UrlRewriting متد UrlMapping قرار داره که کاربردی مشابه داره !!

من براتون یه سری مثال با یه مقاله خوب گذاشتم :لبخندساده:
امیدوارم ازش استفاده کنید !!

و اگه کسی مثالی تهیه کرده برام بفرسته که با نام خودش تو این بخش بزارم

برای دیدن مقاله اینجا (http://msdn.microsoft.com/en-us/library/ms972974.aspx)کلیک کنید.

Ali_M.Eghbaldar
یک شنبه 21 شهریور 1389, 01:23 صبح
استفاده هم زمان از تابع Confirm و RequiredFieldValidator
__________________________________________________ ___________________

سلام دوباره در یک روز :لبخند:

به یک نکته ی جالبی بر خوردم که گفتم به شماهاهم بگم
از تابع Confirm و کنترل RequireFieldValidator هم زمان بصورت معمولی نمیشه استفاده کرد چون به محض فعال شدن Button تابع Confirm اجرا میشه و اجازه خودنمایی یه کنترل RequireFieldValidator نمیده

راه حل: باید تابع Confirm را بصورت زیر تغییر بدید:


OnClientClick = "if (!confirm('پیغام شما')) return false;"

Ali_M.Eghbaldar
سه شنبه 23 شهریور 1389, 12:39 عصر
اضافه کردن متن و عکس به Button
__________________________________________________ ____________________________

سلام
سوال دوستم niloo17 (http://barnamenevis.org/forum/member.php?u=94519)

سوال:

سلام دوستان
چه جوری می تونم به image button متن اضافه کنم .(نمی خوام متن را با عکس ذخیره کنم )
ممنون از راهنماییتون

بهتره بجای ImageButton از خود Button بصورت زیر استفاده کنید:



<asp:Button ID="Button1" runat="server" Text="Button"
style="background-image:url(images/btn.jpg)" />

Ali_M.Eghbaldar
یک شنبه 28 شهریور 1389, 22:39 عصر
مخفی کردن Input Text
(به دو روش)
__________________________________________________ ______________________________________________
به در خواست mahdyeh (http://www.barnamenevis.org/forum/member.php?u=32822)

سلام به همه
این کارو هم با Javascript و با Code Behind براتون انجام دادم.

نوشتن کد های 1و2 الزامیه ...

کد یک:

<script type="text/javascript">
function eghbaldar()
{
document.getElementById('Text1').style.display="none";
}
</script>
کد دو.:

<input id="Text1" type="text" />

خوب !!
اگه مب خواهید این کار را با JS نشان دهید می تونید از کدهای زیر استفاده کنید:




<input id="Button4" type="button" value="button" onclick="return Button4_onclick()" />


<script type="text/javascript">

function Button4_onclick() {
eghbaldar();
}

ولی اگر می خواهید از code behind استفاده کنید از کد زیر:

ClientScript.RegisterStartupScript(GetType(Page), "Egh", "eghbaldar();", True)

Ali_M.Eghbaldar
چهارشنبه 31 شهریور 1389, 17:38 عصر
مشکل قبل از Restore
__________________________________________________ __________________________________________

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

عملیان Backup و Restore به روش های زیادی از جمله SMO,DMO,Transcat و ... انجام می شه برای عملیات Backup مشکلی رخ نمیده اگه بدرستی انجام بشه و برای Restore اگه بانک در حال استفاده باشه خطای زیر رخ میده :


[Microsoft][ODBC SQL Server Driver][SQL Server]Exclusive access could not be obtained because the database is in use. [Microsoft][ODBC SQL Server Driver][SQL Server]RESTORE DATABASE is terminating abnormally.

البته مشکلمو در پست:
http://www.barnamenevis.org/forum/showthread.php?t=248042

مطرح کردم که حل نشد و ا زاونجا که جوینده یابندست توانستم :لبخندساده:
شما باید قبل از Restore کردن دیتابیستونو OFFLINE کنید بصورت زیر :


USE master
ALTER DATABASE [<db name here>] SET OFFLINE WITH ROLLBACK IMMEDIATE

Ali_M.Eghbaldar
جمعه 02 مهر 1389, 23:19 عصر
Bind کردن کنترل هایی مثل GridView و DropDownList با آرایه , لیست و ...
__________________________________________________ ___________________________________________

سلام به دوستان شاد :لبخند:
خوب به سلامتی اول مهرم شد باید بربم مدرسه (دانشگاه :لبخند: )

این پستو از مشکل دوستم majnun (http://www.barnamenevis.org/forum/member.php?u=116815) در لینک ایجاد کردم

http://www.barnamenevis.org/forum/showthread.php?t=248967

ابتدا برای استفاده از لیست از کلاس زیر استفاده می کنید:

Imports System.Collections.Generic

برای Bind کردن لیست با Gridview:


Dim l As New List(Of String)
l.Add("asdsad")
l.Add("ASdsad")
l.Add("#4#@$#@")
GridView1.DataSource = l
GridView1.DataBind()


اما مشکلی که پیش میاد موقعی است که از Pagging استفاده بشه . مانند مشکل دوستم:


من یه مشکلی دارم در pageing گرید ویو

من گرید ویو رو به وسیله ی یک لیست از کلاس بایند میکنم

حالا وقتی میخوام وارد صفحه 2 بشم ارور میده

ممنون میشم کمک کنید ..

متن ارور :

نقل قول:
The GridView 'GridView1' fired event PageIndexChanging which wasn't handled

برای رفع این مشکل از کد زیر استفاده میکنیم :

Protected Sub GridView1_PageIndexChanging(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewPageEventArgs) Handles GridView1.PageIndexChanging
GridView1.PageIndex = e.NewPageIndex
GridView1.DataBind()
End Sub

خوب همون دستور بالا با استفاد ه از آرایه:

Dim s(3) As String
s(0) = "sadsad"
s(1) = "sadsad23"
s(2) = "sadsa213213d"
s(3) = "sadsad24"
GridView1.DataSource = s
GridView1.DataBind()

برای کنترل Dropdownlist هم دقیقا از همین کدا استفاده میکنیم
بصورت زیر:


Dropdownlist1.DataSource = s
Dropdownlist1.DataBind()

Ali_M.Eghbaldar
یک شنبه 09 آبان 1389, 11:24 صبح
پر کردن Gridview با شرط
با سلام
با تاخیر خیلی زیاد دوباره پست گذاشتم !! :لبخند:
سوال :

من یک GridView دارم. یک فیلد دارم که با مقدار یک یا دو پر میشه . میخوام اگر مقدارش یک بود توی اون رکورد image1 نمایش داده بشه و اگر هم دو بود image2 نمایش داده بشه . و برای تمامی رکورده ها به همین شکل ، چکار کنم؟

راه حل استفاده از کد زیر:

<asp:Image ID="Image1" runat="server"
ImageUrl='<%# IIF(Eval("flag")=0,"~/Presentation/images_Items/NoShow.gif","~/Presentation/images_Items/YesShow.gif") %>' />

فایل های دانلود در آدرس زیر موجوده
http://barnamenevis.org/forum/showthread.php?p=1140560&posted=1#post1140560 (http://barnamenevis.org/forum/showthread.php?p=1140560&posted=1#post1140560)

Ali_M.Eghbaldar
سه شنبه 06 اردیبهشت 1390, 11:37 صبح
TreeView با قابلیت داشتن RadioButton

سلام خدمت دوستان , از آخرین پستی که گذاشتم ماهها میگزره :لبخند: خدایی وقت نمیشه ولی سعی می کنم بیشتر براتون کد بزارم ... :بامزه:

ِکاربر Atrocios1 (http://barnamenevis.org/member.php?97584-Atrocios1) در پست :

http://barnamenevis.org/showthread.php?284192-%D8%AA%D8%BA%DB%8C%DB%8C%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-%D8%B8%D8%A7%D9%87%D8%B1-RadioButton-List

همچین درخواستی داشته :


سلام
ببخشید من می‌خوام ظاهر RadioButton List رو به شکل عکسی که ضمیمه کردم در بیارم...
کسی راهی می‌دونه؟
پیشاپیش ممنون از همه :)
69157


برای حل این 2تا را وجود داره 1: استفاده از روال TreeNodeDataBound و ساخت از ابتدا و 2: کلک رشتی
چون خودم رشتم دومییو می گم :قهقهه:

کد های HTML :

<asp:TreeView ID="TreeView1" runat="server" ShowLines="True">
<Nodes>
<asp:TreeNode SelectAction="Expand" Text="مقدار یک" Value="مقدار یک">
<asp:TreeNode ImageUrl="~/without.gif" Text="مقدار دو" Value="مقدار دو"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/without.gif" Text="مقدار سه" Value="مقدار سه"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/without.gif" Text="مقدار چهار" Value="مقدار چهار"></asp:TreeNode>
<asp:TreeNode ImageUrl="~/without.gif" Text="مقدار پنج" Value="مقدار پنج"></asp:TreeNode>
</asp:TreeNode>

</Nodes>
</asp:TreeView>


Code Behind:
Protected Sub TreeView1_SelectedNodeChanged(ByVal sender As Object, ByVal e As EventArgs) Handles TreeView1.SelectedNodeChanged

Dim node As TreeNode = TreeView1.SelectedNode

For i As Integer = 0 To node.Parent.ChildNodes.Count - 1
node.Parent.ChildNodes(i).ImageUrl = "~/without.gif"
node.Parent.ChildNodes(i).Checked = False
Next
node.ImageUrl = "~/with.gif"
node.Checked = True

End Sub

ّبراتون فایل را ضمینه کردم.موفق باشید :قلب:
69159

Ali_M.Eghbaldar
پنج شنبه 26 خرداد 1390, 15:49 عصر
تغییر محتویات کنترل های Datalist قبل از نمایش

با سلام خدمت دوستان
در پست یازدهم در مورد دسترسی به اشیای داخل کنترل های داده گرا مثل DataList , GridVIew و ... بحث کردیم
در این پست می خواهم روشی یاد بگم که قبل از اینکه کنترل های داخل Datalist مقدار دهی بشن شما بتونید مقادیر دستکاری کنید.

روالی در کنترل های داده گرا وجود دارد به نام ItemDataBound موقعی فراخوانی می شود که داده در حال قرار گرفتن در کنترل مذبور هستند پارامتری از جنس DataListItemEvemtArgs اجازه کنترل روی داده ها را به ما می دهد با دستورات زیر قصد تغییر محتویات یک کنترل Image را داربم :

Protected Sub DataList1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles DataList1.ItemDataBound

Dim img As New Image
img = CType(e.Item.FindControl("Image1"), Image)

img.ImageUrl = "~\1.jpj"

End Sub

Ali_M.Eghbaldar
یک شنبه 02 مرداد 1390, 19:54 عصر
انداختن عکسی روی عکس دیگر
سلام دوستان
دوستانی که بخواهند عکسی را روی عکس دیگر باندازند دو راه پیش رو دارند:
1: استفاده از CSS
2:استفاده از کد نویسی بصورت زیر:

Bitmap bmp = new Bitmap(pathToImage1);

Bitmap bmp2 = new Bitmap(pathToImage2);

Graphics g = Graphics.FromImage(bmp1);

g.DrawImage(bmp2,x,y,...);

g.Dispose();

bmp.Save(DestinationPath, ImageFormat.JPEG)

bmp2.Dispose();

bmp.Dispose();

taranomidigar
پنج شنبه 04 خرداد 1391, 22:35 عصر
سلام عالی بود.خدا خیرتون بده

Ali_M.Eghbaldar
جمعه 26 خرداد 1391, 16:42 عصر
رفع مشکل بهم ریختگی Menu در مرورگر chrome

با سلام
متاسفانه مرورگر chrome با منوی asp.net مشکل داره و بهم ریخته اونو نشون میشده برای رفع این مشکل
کد زیر در Page_Load بنوسید:


if (Request.UserAgent.IndexOf("AppleWebKit") > 0)
Request.Browser.Adapters.Clear();

Ali_M.Eghbaldar
سه شنبه 26 آذر 1392, 12:23 عصر
سلام به همه ( با یک وقفه بسیار طولانی :لبخندساده: )

خطای :





Login failed for user 'IIS APPPOOL\ASP.NET v4.0'






برای حل این مشکل روند زیر را طی کنید:


باز کردن MS SQL SERVER
راست کلیک روی فولدر logins
باز کردن منوی new login
وارد کردن عبارت ' IIS APPPOOL\ASP.NET v4.0 ' در فیلد name
وارد قسمت Server roles شوید و گزینه های مورد نظر را انتخاب کنید
OK

Ali_M.Eghbaldar
سه شنبه 26 آذر 1392, 22:20 عصر
سلام به برنامه نویسان عزیز :خجالت:
براتون Function گذاشتم که میتونید با استفاده از اون ، thumbnail های مناسب خودتونو بسازید
سعی کرد کدهای اضافی حذف کنم که کار باهاش ساده تر باشه :لبخندساده:



Sub Thum()

If FileUpload1.HasFile Then

Dim UlFileName, NewFileName As String

UlFileName = "images/" & FileUpload1.FileName

Me.FileUpload1.SaveAs(Server.MapPath(UlFileName))

NewFileName = "images/Thumbnail_" & FileUpload1.FileName


Dim objGraphic As System.Drawing.Image = System.Drawing.Image.FromFile(Server.MapPath(UlFil eName))

Dim objBitmap As Bitmap

objBitmap = New Bitmap(objGraphic, yourWidth, yourHeight)

objBitmap.Save(Server.MapPath(NewFileName), objGraphic.RawFormat)

objGraphic.Dispose()

End If

End Sub


بجای متغییر yourWidth عرض عکس شما و بجای yourHeight ارتفاع عکس شما قرار میگیره

Ali_M.Eghbaldar
چهارشنبه 07 اسفند 1392, 23:48 عصر
سلام دوستان :قلب:
از تاخیرهای زیاد بین پست ها شرمنده ، زیاد وقت نمیشه که بتونم سر بزنم :چشمک:
یک آموزش بسیار کاربردی میخوام بهتون یاد بدم که امیدوارم بدردتون بخوره
ممکنه در شرایطی نیاز داشته باشیم ، که از صفحه دیگر بصورت ( child ) که باز شده ، یک مقداری به صفحه قبلی منتقل بشه به شرطی که صفحه اول ، نیازی به لود مجدد نداشته باشه
برای این کار باید از javascipt کمک بگیریم :لبخندساده:

1) در صفحه اول:
نیاز به تعریف element داریم که مقدار برگشتی توش بشینه و از js قابل دسترسی باشه:

<input type="text" id="ParameterForGet" />
نیاز به کدی داریم که بتونه صفحه دوم برای ما باز کنه :

<a href="#" onclick="javascript:window.open('selectAvatars.aspx?src=Par ameterForGet',
'mywindow','location=1,status=1,scrollbars=1, width=500,height=700');">show new window for getting value </a>
</div>
دقت کنید در این دستور ParameterForGet پارامتری است که مقداربرگشتی وابسته به آن است.

2) در صفحه دوم :
تابع js برای بازگردانندن مقدار به صفحه اول:

<script type="text/javascript">

function copyCode() {
var txt = document.getElementById('TextBox');

var base = window.opener;
var src = base.document.getElementById('ParameterForGet');
if (src && txt.value != '') {
src.value = txt.value;
}
}
</script>
دستور فراخوان تابع:

<button onclick="copyCode();">
click:put to previous page field
</button>
و دستور گرفتن رشته :

<input id="TextBox" type="text" />

امیدوارم بدردتون بخوره
اگه سوالی بود فقط بصورت پیام خصوصی پاسخگوی شما هستم
یا علی (ع)

Ali_M.Eghbaldar
سه شنبه 31 فروردین 1395, 08:10 صبح
راه اندازی اولیه Memebership (آموزش کامل)

با سلام
هرچند که پست های زیادی در این زمینه وجود دارد ولی شاید کمتر پستی بطور کامل به این راه اندازی اولیه پرداخته باشد
سعی میکنم که کوتاه و جامع مطالب را قرار دهم.

1) ایجاد جدول های Membership در دیتابیس پروژه (یا دیتابیس دیگر، فرقی نمی کند)
Visual Studio Command Prompt را از کلید windows و سپس پوشه Visual Studio Tools اجرا کنید.و سپس مانند تصاویر زیر پیش می روید.

http://www.codeproject.com/KB/aspnet/MembershipRoleProvider/step1.JPG
http://www.codeproject.com/KB/aspnet/MembershipRoleProvider/step2.JPG
http://www.codeproject.com/KB/aspnet/MembershipRoleProvider/step3.JPG
http://www.codeproject.com/KB/aspnet/MembershipRoleProvider/step4.JPG
http://www.codeproject.com/KB/aspnet/MembershipRoleProvider/step5.JPG

2) اضافه کردم کانکشن جداول memebership در Web.config
در این مثال من مخصوصا دو کانکشن را گذاشته ام تا متوجه قضیه بشوید.

<connectionStrings>
<add name="mydbCon" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=True"
providerName="System.Data.SqlClient" />
<remove name="LocalSqlServer" />
<add name="LocalSqlServer" connectionString="Data Source=.;Initial Catalog=mydb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>


نام LocalSqlServer حتما باید با همین نام باشد.

استفاده از کد <remove name="LocalSqlServer" /> هنگامی که دو کانکشن دارید، اجباری است.


3) بر حسب نیازتون از کنترل های بخش LOGIN استفاده کنید. این کنترل ها خودبخود توسط کانکش LocalSqlServer جداول membership را میشناسد.
4) برای راه اندازی اولیه جداول دو راه وجود دارد.
4-1: ویزاردی: از طریق منوی website و گزینه ی ASP.NET Configuration
140061
برای اطلاعات بیشتر به لینک (http://quickstarts.asp.net/quickstartv20/aspnet/doc/management/tools.aspx)مراجعه کنید.
4-2: از طریق کنترل های مربوطه مانند: create user

5) احراز هویت در پوشه های امنیتی
اگه صفحات های CMS شما فرضا در میسر

CMS\management\pages
قرار گرفته باشد، شما نباید اجازه دسترسی کاربرهای عادی (لاگین نکرده + تایم session تمام شده) را به آن صفحات بدهید.
بدین منظور در پوشه pages یک فایل web.config ساخته و کد های زیر را در آن قرار میدهد.

<?xml version="1.0"?>
<configuration>
<location path="Default.aspx">

<system.web>

<authorization>

<!--<allow users="Ali"/>-->
<!--<deny users="*"/>-->
<!--<deny users="?"/>-->

</authorization>

</system.web>

</location>
</configuration>


توضیحات:

اگر کد allow users="ali" فعال باشد یعنی فقط کاربری با نام ali می تواند دسترسی داشته باشد.
اگر کد deny users="*" فعال باشد یعنی هیچ کاربری نمی تواند دسترسی داشته باشد.
اگر کد deny users="?" فعال باشد یعنی فقط کاربرانی می توانند دسترسی داشته باشند که لاگین کرده باشند (احراز هویت شده باشند)

نکته : میتوانید ترکیبی استفاده کنید.
6) برگشت پس از عدم تایید و یا اتمام Session لاگین

<authentication mode="Forms">
<forms cookieless="UseCookies" defaultUrl="~\error.aspx" loginUrl="~\error.aspx" protection="All" timeout="30">
</forms>
</authentication>
در این کد و در قسمت loginUrl مشخص میکنید که پس از اتمام تایم مورد و یا مورد غیر قانونی کاربرهای عادی به بخش های امنیتی، نظر کاربر به کجا هدایت شود.



**
لینک های مفید برای مطالعه در این زمینه
http://www.codeproject.com/Articles/281573/ASP-NET-Membership-and-Role-Provider
http://weblogs.asp.net/gurusarkar/setting-authorization-rules-for-a-particular-page-or-folder-in-web-config