Barthinia Ответов: 0

Handler.ashx не работает над моим кодом


Привет, я использую handler.ashx и j query на главной странице в своем проекте, но это не сработало
когда я ищу





не могли бы вы помочь мне найти ошибку

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

<%@ Master Language="C#" AutoEventWireup="true" CodeBehind="User.master.cs" Inherits="Mypro.User" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server"  >
    <meta http-equiv="cache-control" content="no-cache" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="-1" />
    <meta charset="utf-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />
    <meta name="keywords" content="3andy, andy, عندى, موقع عندى,عندى الاقصر"/>
    <!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
    <title>عندى</title>
    <script src="js/jquery-3.2.1.min.js"></script>
    <!-- Bootstrap -->
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"/>
    <link href="css/bootstrap.min.css?2016-12-3:10 13 30" rel="stylesheet" />
    <link href="https://fonts.googleapis.com/css?family=Rakkas&display=swap" rel="stylesheet"/> 
   <link href="https://fonts.googleapis.com/css?family=Amiri&display=swap" rel="stylesheet"/>
     <link href="css/Custom-Cs.css?2016-12-3:10 13 30" rel="stylesheet" />
    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
    <!--[if lt IE 9]>
      <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
      <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->
     <script type="text/javascript">
        $(document).ready(function () {
            $('#<%=TxtSrc.ClientID%>').autocomplete(
                { source: '<%=ResolveUrl("~/ProductHandler.ashx" ) %>' });
        });
    </script>
    <script>
        $(document).ready(function myfunction() {
            $("#btnCart").click(function myfunction() {
                window.location.href = "/MyCart.aspx";
            });
        });
    </script>
       

    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>



обработчик.данного за код
public class ProductHandler : IHttpHandler
  {
      Business_Layer.BS_Layer BSS = new Business_Layer.BS_Layer();
      public void ProcessRequest(HttpContext context)

      {
          string term = context.Request["term"] ?? "";
          List< string> listProduct = new List<string> ();
          BusinessObject_Layer.BO_Layer objbo = new BusinessObject_Layer.BO_Layer
          {
            PName= term
          };
          DataTable dt_Products = BSS.SearchBoxProduct(objbo);
          listProduct = dt_Products.AsEnumerable().Select(r => r.Field<string>("PName")).ToList();

          JavaScriptSerializer js = new JavaScriptSerializer();
          context.Response.Write(js.Serialize(listProduct));
      }

      public bool IsReusable
      {
          get
          {
              return false;
          }
      }
  }


protected void BtnSrc_Click(object sender, EventArgs e)
    {
        if (string.IsNullOrEmpty(Session["USERID"] as string) || Session["USERID"] == null || Session["Utype"].ToString() == "U")
        {
            BusinessObject_Layer.BO_Layer objbo = new BusinessObject_Layer.BO_Layer
            {
                searchIP = LblIP.Text,
                SearchBox = TxtSrc.Value,
            };
            BSS.InsertSearchitem(objbo);
            string SearchBox = TxtSrc.Value;
            Response.Redirect("~/ProductSrch.aspx?Src=" + SearchBox + "");
        }

        if (Session["USERID"] != null && Session["Utype"].ToString() == "W")
        {
            BusinessObject_Layer.BO_Layer objbo = new BusinessObject_Layer.BO_Layer
            {
                searchIP = LblIP.Text,
                SearchBox = TxtSrc.Value,
            };
            BSS.InsertSearchitem(objbo);
            string SearchBox = TxtSrc.Value;
            Response.Redirect("~/TradeProductSrch.aspx?Src=" + SearchBox + "");
        }


    }

OriginalGriff

"Это не работает", вероятно, самый бесполезный отчет о проблеме, который мы получаем - и мы получаем его много. Она ничего не говорит нам о том, что происходит или когда это происходит.
Итак, расскажите нам, что он делает, чего вы не ожидали, или не делает, что вы сделали.
Расскажите нам, что вы сделали, чтобы это произошло.
Сообщайте нам о любых сообщениях об ошибках.
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.

Barthinia

я использовать поле поиска в панели навигации и использования данного обработчика в мастер-страницу, когда я пытаюсь найти обработчик не работа и никакие данные не появляются



F-ES Sitecore

Вы действительно не предоставили там никакой новой информации или не ответили на вопрос о том, вызывается ли обработчик. Используйте отладчик для проверки или сетевой раздел инструментов разработчика браузера, чтобы проверить вызов обработчика, чтобы убедиться, что он происходит, и если он делает то, что результат был.

F-ES Sitecore

Давайте начнем с самого начала ... вызывается ли метод ProcessRequest вашего обработчика? Если нет, и это 404ing, то это может быть так же просто, как проблема с путем, если ваша страница контента не находится в корневой папке. При использовании ResolveUrl вы должны указать путь относительно корня сайта с "~" , означающим корень

ResolveUrl("~/ProductHandler.ashx" )

Barthinia

Я пробую это, но это тоже не работает
я замечаю, что он хорошо работает, когда использую его на веб-странице
но когда вы используете мастер-страницу, она не работает

0 Ответов