Рейтинг:
9
Karthik_Mahalingam
попробовать это
Создайте такой класс
public class ImdbEntity
{
public string Title { get; set; }
public string Year { get; set; }
public string Rated { get; set; }
public string Released { get; set; }
public string Runtime { get; set; }
public string Genre { get; set; }
public string Director { get; set; }
public string Writer { get; set; }
public string Actors { get; set; }
public string Plot { get; set; }
public string Language { get; set; }
public string Country { get; set; }
public string Awards { get; set; }
public string Poster { get; set; }
public string Metascore { get; set; }
public string imdbRating { get; set; }
public string imdbVotes { get; set; }
public string imdbID { get; set; }
public string Type { get; set; }
public string Response { get; set; }
}
используйте приведенный ниже код, чтобы заполнить значения информации о фильме в соответствующие текстовые поля,
настройте его в соответствии с вашими потребностями.
private void btnSearch_Click(object sender, EventArgs e)
{
string url = "http://www.omdbapi.com/?t=" + txtMovieName.Text.Trim();
using (WebClient wc = new WebClient())
{
var json = wc.DownloadString(url);
JavaScriptSerializer oJS = new JavaScriptSerializer();
ImdbEntity obj = new ImdbEntity();
obj = oJS.Deserialize<ImdbEntity>(json);
if (obj.Response == "True")
{
txtActor.Text = obj.Actors;
txtDirector.Text = obj.Director;
txtYear.Text = obj.Year;
}
else
{
MessageBox.Show("Movie not Found!!!");
}
}
}
Примечание: Обратитесь к этой библиотеке dll (
System.Web.Extensions.dll
) к вашему проекту
using System.Web.Script.Serialization;
Johny Flow
большое тебе спасибо, парень. вот чего я хочу. спасибо снова. только один вопрос : это просто сказать, что фильм не найден - я все сделал правильно!
Karthik_Mahalingam
ImdbEntity-это просто класс со свойствами, относящимися к JSON с сайта..
мы просто преобразования JSON-объекта к классу ImdbEntity, так что мы можем получить доступ к свойствам напрямую
Johny Flow
я не могу это исправить(я хочу показать вам свою программу и получить помощь) - у вас есть whatsapp, telegram или Yahoo messenger ?
Karthik_Mahalingam
опубликуйте весь свой код..
Johny Flow
http://s000.tinyupload.com/?file_id=14224732452825347315
я положил туда свой проект
Karthik_Mahalingam
файл класса должен содержать только это
использование системы;
публичный класс ImdbEntity
{
public string Title { get; set; }
public string Year { get; set; }
общественного строка номинальная { получить; набор; }
public string Released { get; set; }
общественные строку во время выполнения { получить; набор; }
public string Genre { get; set; }
директор Государственного строку { получить; набор; }
public string Writer { get; set; }
public string Actors { get; set; }
public string Plot { get; set; }
public string Language { get; set; }
public string Country { get; set; }
общественные награды строку { получить; набор; }
public string Poster { get; set; }
public string Meta {get; set; }
public string imdbRating { get; set; }
публичная строка imdbVotes { get; set; }
публичная строка imdbID { get; set; }
открытый строковый тип { get; set; }
public string Response { get; set; }
}
Karthik_Mahalingam
крутой :)
если это связано с этим постом, вы должны задать его, иначе вам придется задать новый вопрос.
Karthik_Mahalingam
ха-ха
codeproject так не работает,
в Codeprject есть много активных пользователей, и если ваш вопрос и содержание очень ясны, вы получите быстрый ответ от любого..
Johny Flow
хорошо, только один последний вопрос - как я могу получить плакат ? ( точно так же, как текстовые поля, но на этот раз я хочу получить картинку)
Karthik_Mahalingam
предоставьте дополнительную информацию..
Johny Flow
Хорошо - я добавил графическое поле в свою форму, и я хочу получить фотографии фильма, когда я ищу название - например: когда я ищу Железного Человека, мою программу, заполните текстовое поле "год" или любые другие текстовые поля, теперь я хочу показать мне фотографию Железного человека или любые другие фильмы, которые я ищу. этот код предназначен для textbox : txtAwards.Текст = obj.Награды; - мне нужен такой код для коробки с картинками
Karthik_Mahalingam
попробовать это
pictureBox1. ImageLocation = obj.Плакат;
Johny Flow
да, это тоже работает. поблагодарить у так много. пока
Karthik_Mahalingam
используйте так, чтобы каждый раз, когда он будет очищать текстовое поле и поле изображения, если фильм отсутствует, и он все равно будет показывать старые данные, которые будут нечетными для отображения этой информации..
если (объект.Ответ == "Правда")
{
txtActor.Текст = obj.Актеры;
txtDirector.Текст = obj.Директор;
txtYear.Текст = obj.Год;
pictureBox1. ImageLocation = obj.Плакат;
}
ещё
{
txtActor.Текст = "";
txtDirector.Текст = "";
txtYear.Текст = "";
имя picturebox1.ImageLocation = "";
Ящик для сообщений.Шоу ("фильм не найден!!!");
}
Johny Flow
хорошо спасибо
Member 13205054
Ответ гениальный и работает!
Я пытаюсь показать таблицу с опцией поиска (omdbapi.com/?s=). Все, что я делал до сих пор, было безуспешным :-(
Есть идеи?
Спасибо!
Karthik_Mahalingam
с какой проблемой вы столкнулись?
Member 13205054
Понять это. Вот код для возврата таблицы, заполненной результатами поиска.
строки URL = "http://www.omdbapi.com/?s=" + txtMovieName.Текст.Отделка() + "&амп;значение apiKey=ХХХХ";
использование (WebClient wc = новый WebClient())
{
string json = wc. DownloadString(url);
JavaScriptSerializer oJS = новый JavaScriptSerializer();
ImdbEntity_Array movies2 = oJS.Десериализация< imdbentity_array> (json);
фильмы Варе = ОАО.Сериализовать(movies2);
foreach (var mov in movies2. Search)
{
TableRow row = новый TableRow();
TableCell cell1 = новая TableCell();
TableCell cell2 = новая TableCell();
TableCell cell3 = новая TableCell();
TableCell cell4 = новая TableCell();
TableCell cell5 = новая TableCell();
TableCell cell6 = новая TableCell();
cell1.Text = " Плакат";
cell2.Текст = mov.Заглавие;
cell2.Шрифт.Размер = 15;
cell3.Текст = mov.Год;
cell4.Текст = мова.imdbRating;
cell5.Текст = мова.imdbID;
cell6.Text = " Кнопка";
ряд.Ячейки.Добавить(ячейка1);
ряд.Ячейки.Добавить (ячейка2);
ряд.Ячейки.Добавить (ячейка 3);
ряд.Ячейки.Добавить (ячейка 4);
ряд.Ячейки.Добавить(ячейка 5);
ряд.Ячейки.Добавить (ячейка 6);
Image img = новое изображение();
НВФ.Ширина = 70;
НВФ.Url_изображения = мова.Плакат;
таблица mytable.Строк.Добавить(строка);
таблица MyTable.Строк[таблица mytable.Строк.Счет - 1].Ячейки[0].Контроля.Добавить (img);
}
}
код ASP:
&ЛТ;АСП:таблица ID="моя_таблица" атрибут runat="сервер" ширина="100%" высота="48px"&ГТ;
<asp:tablerow>
<asp:tablecell>
< asp:tablecell & gt;Title
< asp:tablecell> год
< asp:tablecell & gt;Рейтинг IMDB
< asp:tablecell> IMDb ID
&ЛТ;АСП:tablecell В и GT;добавить&ЛТ;как ASP:HiddenField идентификатор="btnAdd" атрибут runat="сервер" /&ГТ;
Karthik_Mahalingam
хороший