PDA

View Full Version : سوال: عدم نمایش id در url



Iran58
سه شنبه 07 فروردین 1397, 16:56 عصر
سلام
وقتی روی دکمه DeitیاDeleteیا Details کلیک میکنم

<td>
@Html.ActionLink("Edit", "Edit", new { id = item.UserID }) |
@Html.ActionLink("Details", "Details", new { id = item.UserID }) |
@Html.ActionLink("Delete", "Delete", new { id = item.UserID })
</td>

آدرس زیر ایجاد میشود

localhost:24750/User/Details/5

اما من می خواهم شماره id یا نمایش داده نشود یا بصورت رمزنگاری شده باشد باید از چه کدی استفاده کنم

EnKamran
سه شنبه 07 فروردین 1397, 19:41 عصر
میتونید مستقیم به صفحات Delete, Edit, Details پست کنید

raha raad
شنبه 11 فروردین 1397, 11:16 صبح
سلام. می تونید با استفاده از hidden feild آی دی رو پاس بدید.
برای رمزگزاری و رمزگشایی آدرس زیر می تونه مفید باشه:
http://www.dotnettips.info/post/1436/html-encoding

همچنین قبلا در این انجمن سوال مشابهی ارسال شده که شاید خواندنش خالی از لطف نباشه: لینک (http://barnamenevis.org/showthread.php?423714-%D8%A7%DB%8C%D9%85%D9%86-%DA%A9%D8%B1%D8%AF%D9%86-%D8%A7%D8%B3%D8%AA%D9%81%D8%A7%D8%AF%D9%87-%D8%A7%D8%B2-Hidden-field-%D8%AF%D8%B1-%D9%81%D8%B1%D9%85-%D9%87%D8%A7%DB%8C-master-detail)
امیدوارم مفید واقع بشه.

kamranetemadi
دوشنبه 20 فروردین 1397, 09:49 صبح
@Html.ActionLink("Edit", "Edit", new { id = item.UserID }) | @Html.ActionLink("Details", "Details", new { id = item.UserID }) | @Html.ActionLink("Delete", "Delete", new { id = item.UserID })
اینها بر اساس route که دارید لینک رو میسازن
در route به طور پیشفرض id تعریف شده(به صورت اختیاری)
حالا وقتی شما از new { id = item.UserID } استفاده کنی قطعا id داخل لینک نمایش داده میشه
اگر id داخل route تعریف نشده باشه هم بجای route به صورت querystring میفرسته
اگر بجای new { id = item.UserID } از new { somthing = item.UserID } استفاده کنی هم
somthing رو به صورت querystring میفرسته

و کل ماجرا اینه که شما داری item.UserId رو میفرستی
اگر میخوای id رو نبینی
باید بجای item.UserId چیز دیگه بفرستی
حالا میخوای encode کن یا هر روش دیگه ای که بلدی