Reputation: 63
I get image bytes from database and want render thias in image src in string format.How to render that image in runtime? This is my scenario.
public string GetTickerData()
{
string strData = "";
string strImageData = "";
string strDateFormat = "";
byte[] imgdata;
int s = 0;
strImageData = "";
strImageData += "<img runat=\"server\" src=\"TickerImage.ashx?ColName=" + dtTickerData.Columns[j].ColumnName + "&ID=" + s + "\" />";
ViewData["Data"]=strImageData ;
}
Image.cshtml
@{
var t= @ViewData["Data"];
}
<div>
<label class="footerLabel" style="text-align:center">@ViewData["Data"]</label>
</div>
Image handler
public class TickerImage : IHttpHandler
{
string ColumnName = string.Empty;
int RowID = 0;
public void ProcessRequest(HttpContext context)
{
if (context.Request.QueryString["ColName"] != null)
ColumnName = context.Request.QueryString["ColName"];
if (context.Request.QueryString["ID"] != null)
RowID = Convert.ToInt32(context.Request.QueryString["ID"]);
else
RowID = 0;
DataTable dtTemp = (DataTable)context.Session["TickerData"];
if (!(dtTemp.Rows[RowID][ColumnName] is DBNull))
context.Response.BinaryWrite((byte[])dtTemp.Rows[RowID][ColumnName]);
}
}
Upvotes: 0
Views: 54
Reputation: 5851
It looks fine, but you're missing a closing quote.
strImageData += "<img src=\"" + imgg + " />";
This should be:
strImageData += "<img src=\"" + imgg + "\" />";
Upvotes: 1