Возврат проекции IQueryable
protected void LdsPostings_Selecting(object sender, LinqDataSourceSelectEventArgs e)
{
var dc = new MyDataContext();
var query = dc.Posting.AsQueryable();
if (isCondition1)
{
query = query.Where(q => q.PostedBy == Username);
e.Result = QueryProjection(query);
return;
}
...
if (isConditionN)
{
query = query.Where(q => q.Status.StatusName == "submitted");
query = query.Where(q => q.ReviewedBy == Username);
e.Result = QueryProjection(query);
return;
}
}
и вместо того, чтобы кодировать проекцию многократно, создайте отдельный метод:
private IQueryable QueryProjection(IQueryable<Posting> query)
{
return query.Select(p => new
{
p.PostingID,
p.Category.CategoryName,
p.Type.TypeName,
p.Status.StatusName,
p.Description,
p.Updated,
p.PostedBy,
p.ReviewedBy,
});
}
По умолчанию DefaultWsdlHelpGenerator.aspx вызывается для создания страницы «справки». Вы можете установить другой (или измененный) шаблон с помощью элемента wsdlHelpGenerator в файле web.config.
Зачем вам это нужно? Эта страница, которую вы видите в браузере при обращении к вашему asmx, просто дает образцы запросов и ответов. Если вы хотите получить данные с помощью этих примеров, замените значения placholder в запросе на то, что вы запрашиваете из службы, и POST к нему ...
Изменить: я имею в виду, если вам действительно нужно заменить эти значения placholder напишите код в своей службе, чтобы определить, когда кто-то выполняет GET (подразумевающий просмотр из браузера), и поиграйте с ответом, изменив значения заполнителей на все, что вам нужно.
Вы не можете этого сделать. Если на странице справки (которую вы описываете) нет поля ввода для определенного параметра, это означает, что она не знает, как это сделать.
Вам не следует уделять этим страницам слишком много внимания в любом слючае. Они ушли с WCF.
В любом случае они никогда особо не использовались, за исключением простейших веб-сервисов. Они были способом вовлечь людей в игру с веб-сервисами еще в самом начале, когда не было инструментов, которые помогли бы вам протестировать веб-сервис. Вместо этого используйте soapUI .
Кстати, также см. Microsoft: веб-службы ASMX являются «устаревшей технологией» , чтобы понять, почему имеет смысл игнорировать страницы, содержащие только ASMX.