PDA

View Full Version : سوال: دو تا سوال در رابطه با asp(خیلی فوری)



Mohammad_dn
شنبه 16 آذر 1392, 14:07 عصر
سلام ... خسته نباشید

دوتا سوال داشتم:

1:میخوام یه دایو داشته باشم که هر لینکی که داخل این دایو هست وقتی روش کلیک میکنی تو یه صفحه ی جدید باز شه(target=_blank)

2:دانلود فایل های (zip--rar--pdf ) برای اعضا باشه...یعنی اگه کسی خواست دانلود کنه باید اول login بشه تا بتونه دانلود کنه

خیلی فوری نیاز دارم...لطفا پاسخ بدید:ناراحت::ناراحت::ناراحت: :ناراحت:

با تشکر فراوان

Kamarian.Reza
شنبه 16 آذر 1392, 14:44 عصر
در مورد سوال اول : باید به تعداد دلخواه لینک داخل Div بزاری، بعدش درهر لینک، خاصیت زیر رو اضافه کنی Target="_blank"

برای سوال دوم باید پیکره‌بندی امنیتی پروژ رو ایجاد کنی که بحثش طولانی و خارج از اینجاست

actros
شنبه 16 آذر 1392, 18:05 عصر
سلام ... خسته نباشید
دوتا سوال داشتم:
1:میخوام یه دایو داشته باشم که هر لینکی که داخل این دایو هست وقتی روش کلیک میکنی تو یه صفحه ی جدید باز شه(target=_blank)

2:دانلود فایل های (zip--rar--pdf ) برای اعضا باشه...یعنی اگه کسی خواست دانلود کنه باید اول login بشه تا بتونه دانلود کنه
خیلی فوری نیاز دارم...لطفا پاسخ بدید:ناراحت::ناراحت::ناراحت: :ناراحت:
با تشکر فراوان

دایو چیه بابا دیو :دی (دایو از روش میپرن تو آب)
سوال اولت که دوستمون جواب داد اما برای سوال دومت:
فرض می کنیم لینک های شما داینامیکن(داخل repeater یا datalist یا ... ) این لینک رو همه می تونن دانلود کنن:
<a runat="server" href='<%# Eval("Lurl")%>' target="_blank"><%# Eval("Ltitle")%> </a>

حالا این لینکو فقط اونایی که وارد سایت شدن میتونن دان کنن (فرض اینه که از ممبرشیپ دیتابیس استفاده می کنی) تست شده و جواب میده.تو این روش اگه طرف ثبت نام نکرده باشه اصلا لینک دانلود لود نمیشه (طرف از صفه سورس بگیره بازم به جایی نمیرسه :دی)
<a id="aDownload" runat="server" href='<%# setUrl("url")%>' target="_blank" title='<%# setUrl ("title") %>'><%# Eval("Ltitle")%> </a>

حالا باید این کد رو به CodeBehind صفه اضافه کنی :

Protected Function setUrl(item As String) As String
Select Case item
Case "url"
If Context.User.Identity.IsAuthenticated Then
Return Eval("Lurl")
Else
Return ""
End If
Case "title"
If Context.User.Identity.IsAuthenticated Then
Return "برای دانلود کلیلک کنید"
Else
Return "برای دانلود باید وارد سایت شوید"
End If
End Select
End Function

Mohammad_dn
شنبه 16 آذر 1392, 18:42 عصر
1:


Target="_blank"
عزیز من خودمم میدونم باید این خاصیت رو به هر لینک اظافه کنم....

میخوام اگه این خاصیت رو نداشت هم توی یه صفحه ی جدید باز شه

2:

دایو چیه بابا دیو :دی (دایو از روش میپرن تو آب)
شما ببخش:لبخند:



سوال اولت که دوستمون جواب داد اما برای سوال دومت:
فرض می کنیم لینک های شما داینامیکن(داخل repeater یا datalist یا ... ) این لینک رو همه می تونن دانلود کنن:
1
<a runat="server" href='<%# Eval("Lurl")%>' target="_blank"><%# Eval("Ltitle")%> </a>





حالا این لینکو فقط اونایی که وارد سایت شدن میتونن دان کنن (فرض اینه که از ممبرشیپ دیتابیس استفاده می کنی) تست شده و جواب میده.تو این روش اگه طرف ثبت نام نکرده باشه اصلا لینک دانلود لود نمیشه (طرف از صفه سورس بگیره بازم به جایی نمیرسه :دی)
1
<a id="aDownload" runat="server" href='<%# setUrl("url")%>' target="_blank" title='<%# setUrl ("title") %>'><%# Eval("Ltitle")%> </a>





حالا باید این کد رو به CodeBehind صفه اضافه کنی :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Protected Function setUrl(item As String) As String
Select Case item
Case "url"
If Context.User.Identity.IsAuthenticated Then
Return Eval("Lurl")
Else
Return ""
End If
Case "title"
If Context.User.Identity.IsAuthenticated Then
Return "برای دانلود کلیلک کنید"
Else
Return "برای دانلود باید وارد سایت شوید"
End If
End Select
End Function




من c# کار می کنم لطفا کد c# بذارید

actros
شنبه 16 آذر 1392, 19:00 عصر
1:
عزیز من خودمم میدونم باید این خاصیت رو به هر لینک اظافه کنم....
میخوام اگه این خاصیت رو نداشت هم توی یه صفحه ی جدید باز شه
2:
شما ببخش:لبخند:
من c# کار می کنم لطفا کد c# بذارید

convert vb to cs (http://www.developerfusion.com/tools/convert/vb-to-csharp/)

fakhravari
شنبه 16 آذر 1392, 19:10 عصر
راه ساده استفاده از FormsAuthenticationTicket است.
جستجو کنید

Mohammad_dn
شنبه 16 آذر 1392, 19:18 عصر
ببخشید اما من نتونستم چیز خوبی پیدا کنم (حداقل در پیج های فارسی)

میشه خودتون همینجا توضیح بدین؟

fakhravari
شنبه 16 آذر 1392, 19:59 عصر
توی چند ثانیه سرچ معلومه چیزی پیدا نمیشه.
اطلاعات وب کانفیگ پوشه ax
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="administrator,user" />
<deny users="?" />
<deny roles="poweruser" />
</authorization>
</system.web>
</configuration>
اطلاعات وب کانفیگ پوشه exe
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<allow roles="administrator,poweruser" />
<deny users="?" />
<deny roles="user" />
</authorization>
</system.web>
</configuration>
اطلاعات وب کانفیگ پوشه file
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
<authorization>
<deny users="?" />
<allow roles="administrator,user,poweruser" />
</authorization>
</system.web>
</configuration>
اطلاعات فایل گلوبال
<%@ Application Language="C#" %>

<script runat="server">

void Application_AuthenticateRequest(object sender, EventArgs e)
{
try
{
HttpCookie cookie = Context.Request.Cookies[FormsAuthentication.FormsCookieName];
FormsAuthenticationTicket ticket = FormsAuthentication.Decrypt(cookie.Value);
FormsIdentity identity = new FormsIdentity(ticket);
string[] roles = ticket.UserData.Split('|');
System.Security.Principal.GenericPrincipal principal = new System.Security.Principal.GenericPrincipal(identit y, roles);
Context.User = principal;
}
catch { }
}

</script>

دکمه ورود
protected void Button1_Click(object sender, EventArgs e)
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(2, txtUserName02.Text, DateTime.Now, DateTime.MaxValue, true, DropDownList1.SelectedItem.Text);
string encryptTicket = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptTicket);
cookie.Expires = chkRememberMe.Checked ? ticket.Expiration : DateTime.MinValue;
Response.SetCookie(cookie);
}

Mohammad_dn
شنبه 16 آذر 1392, 20:35 عصر
آقای فخر آوری...بازم فایل رو دان میکنه...شما همین سایت برنامه نویس رو ببین تا وقتی که کاربر login نکنه نمیتونه فایل رو دانلود کنه....(من چنین چیزی رو میخوام)

fakhravari
شنبه 16 آذر 1392, 21:39 عصر
برسی کنید . اشتباه می کنید