Неверный аргумент обратной передачи или обратного вызова - PullRequest
1 голос
/ 04 августа 2011

Я сталкиваюсь с этой ошибкой, когда прикрепляю конкретный источник данных с выпадающим списком. со всеми другими таблицами / источниками данных работает нормально. Я не делаю никаких изменений в выпадающем списке, используя javascript / jquery (так как он отлично работает со всеми другими источниками данных, кроме текущего)

ошибка:

Invalid postback or callback argument.  Event validation is

включено с использованием в конфигурации или <% @ Page EnableEventValidation = "true"%> на странице. Для обеспечения безопасности В целях, эта функция проверяет, что аргументы для обратной передачи или обратного вызова события происходят из серверного элемента управления, который первоначально отображался их. Если данные действительны и ожидаемы, используйте ClientScriptManager.RegisterForEventValidation метод для того, чтобы зарегистрировать данные обратного или обратного вызова для проверки.

Моя функция для получения значений из XML-файлов:

public List<ProductReviewmaster> ConvertRssXDocToReviews(XDocument xdoc)
{
    List<ProductReviewmaster> nl = new List<ProductReviewmaster>();

    if (xdoc != null)
    {
        var res = from rs in xdoc.Descendants("item")
                  select new ProductReviewmaster()
                  {
                      Title = rs.Element("title").Value,
                      ShortHeadLine = rs.Element("shortheadline").Value,
                      Link = rs.Element("link").Value,
                      Reviewid = rs.Element("guid").Value ,
                      //Pubdate = Convert.ToDateTime( rs.Element("pubdate").Value),
                      Image = rs.Element("storyimage").Value,
                      Dateline = rs.Element("dateline").Value,
                      Excerpt = rs.Element("excerpt").Value,
                      Tags = rs.Element("tags").Value,
                      ProductId = rs.Attribute("productid").Value.ToInt64()
                  };
        foreach (var item in res)
        {
            nl.Add(item);

        }
    }
    return nl;


}

Вот как я связываю это с моим выпадающим списком:

   ddlReview.DataSource =  prmf.GetReviewByCategoryKey(categoryid);
                ddlReview.DataValueField = "Reviewid";
                ddlReview.DataTextField = "Title";
                ddlReview.DataBind();
                ddlReview.Items.Insert(0, new ListItem("---Select---"));

Когда я связываю тот же выпадающий список с любым другим источником данных (не-xml), он работает нормально ... но когда я делаю это с этим источником данных, он выдает ошибку выше.

Мой xml похож на:

<rss version="2.0">
  <channel>
    <title>

        </title>
    <link>

        </link>
    <language>en</language>
    <lastBuildDate>
            August  3, 2011  3:57 PM
        </lastBuildDate>
    <image>
      <url></url>
      <link>
            </link>
    </image>
    <items>
      <item productid="">
        <title><![CDATA[This is new test review]]></title>
        <shortheadline><![CDATA[]]></shortheadline>
        <link>

                    </link>
        <permaLink>
          <web>

                        </web>
        </permaLink>
        <guid isPermaLink="false">
                        29527
                    </guid>
        <pubDate>
                        August  2, 2011  1:56 PM
                    </pubDate>
        <MobileText></MobileText>
        <storyimage><![CDATA[ges/apple-appstore.jpg]]></storyimage>
        <categories><![CDATA[mobile]]></categories>
        <dateline><![CDATA[]]></dateline>
        <excerpt><![CDATA[isational structure for its operations in India and South Asia with effetransformational business...]]></excerpt>
        <tags><![CDATA[mobile, phone]]></tags>
        <contenttype><![CDATA[Review]]></contenttype>
      </item>
    </items>
    <description></description>
  </channel>
</rss>

успешно извлекает данные и показывает их в выпадающем списке, но когда я выбираю какой-либо элемент из него (выбранный индекс изменен), он показывает это сообщение ...

Спасибо

Ответы [ 2 ]

1 голос
/ 04 августа 2011

Наконец-то я решил проблему ... при использовании LINQ я просто использовал Trim () и все готово ...:)

var res = from rs in xdoc.Descendants("item")
                          select new ProductReviewmaster()
                          {
                              Title = rs.Element("title").Value.Trim(),
                              ShortHeadLine = rs.Element("shortheadline").Value.Trim(),
                              Link = rs.Element("link").Value.Trim(),
                              Reviewid = rs.Element("guid").Value.Trim() ,
                              //Pubdate = Convert.ToDateTime( rs.Element("pubdate").Value),
                              Image = rs.Element("storyimage").Value.Trim(),
                              Dateline = rs.Element("dateline").Value.Trim(),
                              Excerpt = rs.Element("excerpt").Value.Trim(),
                              Tags = rs.Element("tags").Value.Trim(),
                              ProductId = rs.Attribute("productid").Value.ToInt64()
                          };

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

1 голос
/ 04 августа 2011

Эта ошибка обычно возникает, когда ваши входные элементы, включая раскрывающиеся списки, содержат любой из этих символов '<' или '>'.

Вы пробовали кодировать эти значения, если они существуют?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...