كيف يعمل url.action ASP.NET MVC؟
-
20-09-2019 - |
سؤال
يرتبط هذا إلى حد ما بسؤال آخر طرحته ، لكنني أعتقد لماذا لا أطرحه بشكل منفصل.
إذا كنت سأضع شيئًا مثل ما يلي في عرض ما
<td><img src='<%= Url.Action( "DisplayImage" , "User" , new { id = item.id} ) %>' alt="" /></td>
هل من المفترض أن يعرض هذا؟
<td>
<img src='/User.mvc/DisplayImage?id=U00915441' alt="" />
</td>
أم هل سيتم استبدال قيمة SRC-Attribute فعليًا بنتائج عمل GetImage UserController؟
المحلول
ستقوم ببناء المسار إلى الإجراء ، وإعادة عنوان URL ، وليس نتائج تنفيذ الإجراء.
ستكون النتائج:
<td>
<img src='/User.mvc/DisplayImage?id=U00915441' alt="" />
</td>
رمز مثال. يفترض أن نموذج المستخدم الخاص بك يحتوي على الصورة المخزنة في مجموعة بايت. إذا كنت تستخدم LINQ والخاصية الثنائية, ، ثم استخدم لمجموعة() طريقة لتحويلها إلى صفيف بايت. لاحظ السمات التي تتطلب تسجيل الدخول إلى المستخدم واستخدام طلب الحصول على.
[Authorize]
[AcceptVerbs( HttpVerbs.Get )]
public ActionResult DisplayImage( string id )
{
var user = ...get user from database...
return File( user.Image, "image/jpeg" );
}
}
لا تنتمي إلى StackOverflow