priya231 Ответов: 1

Как привязать изображение из SQL server (varbinary column) с помощью jquery на языке C#


Это мой JSON код
function OnSuccess(response) {
            $('#dvGrid').show();
            var xmlDoc = $.parseXML(response.d);
            var xml = $(xmlDoc);
            var compmst = xml.find("COMPANY_MASTER");
            if (row == null) {
                row = $("[id*=gvCompList] tr:last-child").clone(true);

            }
            $("[id*=gvCompList] tr").not($("[id*=gvCompList] tr:first-child")).remove();
            if (compmst.length > 0) {
                $.each(compmst, function () {
                    var compmst = $(this);
                   
                    $("td", row).eq(6).html('');
                    $("[id*=gvCompList]").append(row);
                    row = $("[id*=gvCompList] tr:last-child").clone(true);

                });
               

            }

//Webmethod call
[WebMethod]
    [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
    public static string fetchCompMst(int pageSize, int pageIndex)
    {
        string query = "[FETCH_COMPANY_MASTER]";
        SqlCommand cmd = new SqlCommand(query);
        cmd.CommandType = CommandType.StoredProcedure;       
        cmd.Parameters.AddWithValue("@PageIndex", pageIndex);
        cmd.Parameters.AddWithValue("@PageSize", pageSize);      
        cmd.Parameters.Add("@RecordCount", SqlDbType.Int, 4).Direction = ParameterDirection.Output;
        return getCompData(cmd, pageIndex, pageSize).GetXml();
    }

    private static DataSet getCompData(SqlCommand cmd, int pageIndex, int pageSize)
    {
        DataSet ds = new DataSet();
        try
        {

            SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["constr"].ConnectionString);
            SqlDataAdapter sda = new SqlDataAdapter();
            cmd.Connection = con;
            sda.SelectCommand = cmd;
            sda.Fill(ds, "COMPANY_MASTER");
            DataTable dt = new DataTable("Pager");
            dt.Columns.Add("PageIndex");
            dt.Columns.Add("PageSize");
            dt.Columns.Add("RecordCount");
            dt.Rows.Add();
            dt.Rows[0]["PageIndex"] = pageIndex;
            dt.Rows[0]["PageSize"] = pageSize;
            dt.Rows[0]["RecordCount"] = cmd.Parameters["@RecordCount"].Value;
            ds.Tables.Add(dt);
        }
        catch (Exception)
        {
        }
        return ds;
    }

//Here returning datatable


Что я уже пробовал:

Я попытался вытащить изображение из универсального обработчика следующим образом

&ЛТ;ИМГ СРЦ="&ЛТ;%# "обработчик.данного?companyid="+ оценки("COMPANY_ID") %&ГТ;" класс="ИМГ-компанииматериалы 1" /&ГТ;

Но так как я привязываю данные со стороны клиента в gridview, это не помогает.Я искал код более четырех часов, но не получил никакой помощи.

Я действительно буду очень благодарен Вам за вашу помощь

1 Ответов

Рейтинг:
2

P_Z

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)] probably can remove this
public static string fetchCompMst(int pageSize, int pageIndex)
{
...
return getCompData(cmd, pageIndex, pageSize).GetXml();
}

private static DataSet getCompData(SqlCommand cmd, int pageIndex, int pageSize)
//here you're returing DataSet when in fact you need a string...so the data returned will not make sense as it will be DataSet ToString instead of actual records

also to return in json you need to use a Json serializer library such as <a href="http://www.newtonsoft.com/json">Json.NET - Newtonsoft</a>[<a href="http://www.newtonsoft.com/json" target="_blank" title="New Window">^</a>] 

Where from the code are you retrieving and returning the byte array for image?
As it will be byte array, you may also check this <a href="http://stackoverflow.com/questions/20756042/javascript-how-to-display-image-from-byte-array-using-javascript-or-servlet">html - Javascript : How to display image from byte array using Javascript or Servlet? - Stack Overflow</a>[<a href="http://stackoverflow.com/questions/20756042/javascript-how-to-display-image-from-byte-array-using-javascript-or-servlet" target="_blank" title="New Window">^</a>] to display the image from byte array.


Где из кода Вы извлекаете и возвращаете изображение? Проверить это html-Javascript : как отобразить изображение из байтового массива с помощью Javascript или сервлета? - переполнение стека[^] для отображения изображения из байтового массива.


priya231

Эта ссылка поможет мне решить мою проблему.Миллион раз спасибо.