У меня есть веб-сервис, который нужно вызвать, и я хочу передать ему параметр на основе значения в ячейке таблицы. Таблица отображается с помощью элемента управления повторителем.
Идея состоит в том, чтобы показать div с данными, возвращаемыми из вызова базы данных, выполняемого веб-службой, когда я наводю указатель мыши на строки таблицы.
Вызов javascript выглядит следующим образом:
$(document).ready(function() {
$("tr.rows").hover(function() {
//alert('Test');
$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
data: "{ madvare: '" + $('span#MadLogMadVare').val() + "'}",
url: "HoverBox.asmx/GetDetails",
dataType: "json",
success: function(data) {
//alert('Success Test');
var Madvare = data.d;
$('#DetailsBox').html(
('<p><strong>' + Madvare.MadLogMadVare + "</strong><br />"))
}
});
});
});
Вызов никогда не достигнет функции успеха, поэтому я предполагаю, что я неправильно получаю значение из ячейки таблицы ...
Есть идеи, как получить значение из визуализированной ячейки таблицы?
Я решил добавить код Web-сервиса:
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)]
[ScriptService]
открытый класс HoverBox: WebService
{
публичный HoverBox ()
{
}
private static string _connString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
[WebMethod]
public static MadLog GetDetails(string madvare)
{
MadLog _madlog = new MadLog();
string query = "SELECT * FROM frisk_madlog WHERE frisk_madlogmadvare = @frisk_madlogmadvare";
using (SqlConnection conn = new SqlConnection(_connString))
{
using (SqlCommand cmd = new SqlCommand(query, conn))
{
cmd.Parameters.AddWithValue("frisk_madlogmadvare", madvare);
conn.Open();
SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.SingleRow);
if (rdr.HasRows)
{
while (rdr.Read())
{
_madlog.MadLogID = Convert.ToInt32(rdr["frisk_madlogID"]);
_madlog.MadLogUserID = (Guid)(rdr["frisk_madloguserID"]);
_madlog.MadLogMadVare = rdr["frisk_madlogmadvare"].ToString();
_madlog.MadLogKalorier = (double)(rdr["frisk_madlogkalorier"]);
_madlog.MadLogMaengde = (double)(rdr["frisk_madlogmaengde"]);
_madlog.MadLogDato = Convert.ToDateTime(rdr["frisk_madlogdato"]);
_madlog.MadLogKategori = rdr["frisk_madlogkategori"].ToString();
}
}
}
}
return _madlog;
}
}