سؤال

يرتبط هذا إلى حد ما بسؤال آخر طرحته ، لكنني أعتقد لماذا لا أطرحه بشكل منفصل.

إذا كنت سأضع شيئًا مثل ما يلي في عرض ما

<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" );
}

}

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top