Vous pouvez créer une page HttpHandler (ashx) qui prendrait un querystring et définir que la propriété imageUrl du contrôle d'image
<asp:image id="imgEmployee" imageUrl="DisplayImage.ashx?employeeId=<someId>"/>
maintenant à displayimage. ashx, vous pouvez remplacer les processRequest comme ci-dessous: -
public void ProcessRequest (HttpContext context)
{
int employeeId;
if (context.Request.QueryString["employeeId"] != null)
employeeId = Convert.ToInt32(context.Request.QueryString["employeeId"]);
else
throw new ArgumentException("No parameter specified");
byte[] imageData= ;// get the image data from the database using the employeeId Querystring
Response.ContentType = "image/jpeg"; // You can retrieve this also from the database
Response.BinaryWrite(imageData);
}
changements Web.config: -
<httpHandlers>
<add verb="*" path="img/*" type="DisplayImage"/>
</httpHandlers>
Détails here et here.
Hope this helps ..
Je pense que vous avez mal compris la question. Je dois montrer l'image dans le contrôle d'image d'asp.net non seulement sur la page Web. – HotTester
@HotTester, le code/concept ci-dessus afficherait l'image dans le contrôle IMG. Pour expliquer plus, supposons que vous avez une page (EmployeeDetails.aspx) où vous avez le contrôle de l'image, dont imageUrl est "DisplayImage.ashx? EmployeeId = 12". Lorsque vous demandez la page "EmployeeDetails.aspx" et que le contrôle de l'image est rendu, une requête sera envoyée à DisplayImage.ashx (un HttpHandler) qui va juste sortir les données binaires pour l'image et ensuite cela sera affiché dans le contrôle Image de Employee.aspx. Faites le moi savoir Si j'ai encore mal compris votre question. –