PDA

View Full Version : سوال: عدم چاپ اطلاعات توسط response.write



navidkhalilian
جمعه 02 اردیبهشت 1390, 19:57 عصر
سلام دوستان اشکال کد زیر چیه؟ من می خوام اگه کاربر وارد سایت شده یک کنترل dropdown نمایش داده بشه در غیر این صورت چاپ بشه Please Login.



if(Login==True)
{

response.write(@" <asp:DropDownList ID=DropDownList1 runat=server Font-Names=tahoma
Font-Overline=False
OnSelectedIndexChanged=DropDownList1_SelectedIndex Changed
Style=margin-left: 0px Width=300px>
<asp:ListItem>مدیریت</asp:ListItem>
<asp:ListItem>خدمات</asp:ListItem>
<asp:ListItem>پشتیبانی</asp:ListItem>
<asp:ListItem>راهنمایی</asp:ListItem>
<asp:ListItem>پیشنهادات و انتقادات</asp:ListItem>
</asp:DropDownList>
");

}

else

{
response.write("Please Login!");
}





اگر کاربر وارد نشده باشه please login چاپ میشه اما اگه وارد شده باشه هیچی چاپ نمیشه.

raziee
شنبه 03 اردیبهشت 1390, 09:23 صبح
به احتمال زیاد چاپ میشه اما مرورگر ترجمه نمیکنه.
برادر شما داری یک کنترل سمت سرور رو مستقیما در خروجی مینویسی!!!!
این کنترل برای سرور قابل فهم هست ولی برای کلاینت نه!!


بهتره از یک PlaceHolder استفاده کنی و هر زمان که میخواهید کنترل مربوطه رو بهش اضافه کنید. در این صورت هست که کنترل های سمت سرور رندر شده و به خروجی HTML تبدیل شده که برای مرورگر ها قابل فهم است.

navidkhalilian
شنبه 03 اردیبهشت 1390, 20:17 عصر
دوست عزیز مثال بالا رو میتونی با placeholder پرام پیاده کنی؟ممنونم

raziee
یک شنبه 04 اردیبهشت 1390, 11:19 صبح
اگه فقط میخواهید وضعیت کاربر رو بررسی کنید از کنترل LoginView استفاده کنید.
اما:
در صفحه <asp:PlaceHolder ID="MyPlaceHolder" runat="server" /> رو اضافه میکنید.
و در کد ها بهش کنترل اضافه میکنید.

MyPlaceHolder.Controls.Add(new LiteralControl("Test"));