saimanisha Ответов: 1

Как я могу отображать данные в gridview в веб-форме с помощью httpclient ?


проблема вид сетки не виден в браузере.и обратите внимание на код c# для отображения данных в gridview, какие изменения я должен сделать, чтобы отобразить данные.

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

HttpClient client = new HttpClient();
           client.BaseAddress = new Uri(Base_URL);
           client.DefaultRequestHeaders.Accept.Clear();
           client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
           StringContent con = new StringContent(JsonConvert.SerializeObject(up), Encoding.UTF8, "application/json");
           HttpResponseMessage response = await client.GetAsync("api/UpdateHotelInfoes"+TextBox2.Text);

           if (response.IsSuccessStatusCode)
           {
               string data = await response.Content.ReadAsStringAsync();
              //var  A= JsonConvert.DeserializeObject<UpdateHotelInfo>(data);
               // List<UpdateHotelInfo> a = response.Content.ReadAsAsync<List<UpdateHotelInfo>>().Result;
               var result = JsonConvert.DeserializeObject<List<UpdateHotelInfo>>(data);
               GridView1.DataSource = result;



ниже приведен код aspx


<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns = "False" BackColor="White" BorderColor="#DEDFDE" BorderStyle="None" BorderWidth="1px" CellPadding="4" ForeColor="Black" OnSelectedIndexChanged="GridView1_SelectedIndexChanged">
           <AlternatingRowStyle BackColor="White" />
           <Columns>
               <asp:BoundField DataField="HOTEL_NAME" HeaderText="HOTEL_NAME" />
               <asp:BoundField DataField="ADDRESS_LINE" HeaderText="ADDRESS_LINE" />
               <asp:BoundField DataField="AREA" HeaderText="AREA" />
               <asp:BoundField DataField="CITY" HeaderText="CITY" />
               <asp:BoundField DataField="POSTAL_CODE" HeaderText="POSTAL_CODE" />
               <asp:BoundField DataField="STATE" HeaderText="STATE" />
               <asp:BoundField DataField="COUNTRY" HeaderText="COUNTRY" />
               <asp:BoundField DataField="PHONE_NUMBER" HeaderText="PHONE_NUMBER" />
               <asp:BoundField DataField="LANDLINE" HeaderText="LANDLINE" />
               <asp:BoundField DataField="EMAIL_ID" HeaderText="EMAIL_ID" />
               <asp:BoundField DataField="WEBSITE" HeaderText="WEBSITE" />
               <asp:BoundField DataField="PROPERTY_TYPE" HeaderText="PROPERTY_TYPE" />
               <asp:BoundField DataField="PROPERTY_GRADE" HeaderText="PROPERTY_GRADE" />
               <asp:BoundField DataField="REGISTRATION" HeaderText="REGISTRATION" />
           </Columns>
           <FooterStyle BackColor="#CCCC99" />
           <HeaderStyle BackColor="#6B696B" Font-Bold="True" ForeColor="White" />
           <PagerStyle BackColor="#F7F7DE" ForeColor="Black" HorizontalAlign="Right" />
           <RowStyle BackColor="#F7F7DE" />
           <SelectedRowStyle BackColor="#CE5D5A" Font-Bold="True" ForeColor="White" />
           <SortedAscendingCellStyle BackColor="#FBFBF2" />
           <SortedAscendingHeaderStyle BackColor="#848384" />
           <SortedDescendingCellStyle BackColor="#EAEAD3" />
           <SortedDescendingHeaderStyle BackColor="#575357" />
       </asp:GridView>

F-ES Sitecore

У нас нет доступа к вашим источникам данных, так как же мы можем знать, в чем проблема? Вам нужно будет использовать отладчик, чтобы пройти через ваш код и изучить переменные и данные, чтобы понять, что происходит не так. Шансы есть " ответ.IsSuccessStatusCode " является ложным, что может быть связано с url-адресом, к которому вы обращаетесь.

"api / UpdateHotelInfoes" +TextBox2. Text

если TextBox2 имеет "привет", то вы звоните

api / UpdateHotelInfoesHello

что, вероятно, неправильно.

saimanisha

позже я упомянул "/", но и он не работает.

shreyal acharya

Проверьте эту ссылку на наличие вашей проблемы

http://aspnettutorials.com/tutorials/database/add-data-to-gridview-from-multiple-tables-in-asp-net-4-0-and-c/

saimanisha

публичный класс UpdateHotelInfoesController : ApiController
{
частная UpdateHotelInfoEntities дБ = новый UpdateHotelInfoEntities();

// GET: api/UpdateHotelInfoes
public IQueryable & lt;updatehotelinfo> GetUpdateHotelInfo()
{
возвращение дБ.UpdateHotelInfo;
}

// GET: api/UpdateHotelInfoes/5
[ResponseType(typeof(UpdateHotelInfo))]
public IHttpActionResult GetUpdateHotelInfo(int id)
{
UpdateHotelInfo updateHotelInfo = дБ.UpdateHotelInfo.Найти(идентификатор);
if (updateHotelInfo = = null)
{
обратный процесс();
}

возврат Ok(updateHotelInfo);
}

это код api с использованием entity framework ..put delete и update методы работают, но я не могу отобразить данные ..запрос к api работает нормально..но как я могу отобразить respose в gridview.

F-ES Sitecore

Ваш метод обновления не возвращает данные. Если обновление прошло успешно, то вам нужно вызвать другой метод, который возвращает данные отеля.

Bryian Tan

Сделать код управления gridview1.Метод databind(); ?

saimanisha

да его там но проблема здесь после того как если условие
если (ответ.IsSuccessStatusCode)

я получаю исключения, такие как формат json, который не может быть преобразован в массив json.
var h = ожидание ответа.Содержание.ReadAsAsync< IEnumerable & lt;updatehotelinfo>>()
up = JsonConvert.DeserializeObject & lt;updatehotelinfo> (h);
GridView1. DataSource = up;
Управления gridview1.Привязку();
Ответ.Write ("alert('данные загружены успешно');");
}

я хочу показать, что здесь что-то не так ... я не понимаю, где мне изменить код..

1 Ответов

Рейтинг:
1

ziad imad

Привет тебе нужно добавить

GridView1.DataBind();

в конце вашего кода


saimanisha

я уже добавил, но и это не работает