Простой способ отправки параметров массива в web api
API
public IEnumerable<Category> GetCategories([FromUri]int[] categoryIds){
// code to retrieve categories from database
}
Jquery: отправка объекта JSON в качестве параметров запроса
$.get('api/categories/GetCategories',{categoryIds:[1,2,3,4]}).done(function(response){
console.log(response);
//success response
});
Он сгенерирует ваш запрос URL вроде ../api/categories/GetCategories?categoryIds=1&categoryIds=2&categoryIds=3&categoryIds=4
Я думаю, что основная проблема, с которой вы столкнулись, заключается в том, что вы добавляете текст в объекты iTextSharp Paragraph
, а затем пытаетесь установить выравнивание этого текста, используя объект PdfPCell
, который его содержит. Я не уверен, что свойство PdfPCell.VerticalAlignment
предназначено только для текста PdfPCell
, или выравнивание объекта Paragraph
внутри PdfPCell
не имеет никакого эффекта, который вы можете увидеть в своем тесте.
Вы также устанавливаете myCell.HorizontalAlignment
и myCell.VerticalAlignment
на значение индекса в цикле for
. Я думаю, что вы хотели использовать 1 экземпляр из i
.
В любом случае, установка свойств PdfPCell HorizontalAlignment
и VerticalAlignment
работает. Ниже приведен небольшой метод, который демонстрирует это. Я написал это очень свободно, основываясь на том, что вы пытались сделать; если это достаточно близко к тому, что вы пытаетесь сделать, возможно, вы можете использовать это как отправную точку в вашем проекте.
private void TestTableCreation() {
using (FileStream fs = new FileStream("TableTest.pdf", FileMode.Create)) {
Document doc = new Document(PageSize.A4);
PdfWriter.GetInstance(doc, fs);
doc.Open();
PdfPTable table = new PdfPTable(4);
for (int i = -100; i < 100; i++) {
PdfPCell cell = new PdfPCell(new Phrase(String.Format("Alignment: {0}", i)));
// Give our rows some height so we can see test vertical alignment.
cell.FixedHeight = 30.0f;
// ** Try it **
//cell.HorizontalAlignment = Element.ALIGN_LEFT;
//cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.HorizontalAlignment = Element.ALIGN_RIGHT;
cell.VerticalAlignment = Element.ALIGN_TOP;
//cell.VerticalAlignment = Element.ALIGN_MIDDLE;
//cell.VerticalAlignment = Element.ALIGN_BOTTOM;
table.AddCell(cell);
}
doc.Add(table);
doc.Close();
}
}
Я попытался дать прямые целые числа и другие решения, упомянутые здесь. Но у меня ничего не получалось. Комбинация этого работала для меня в методе Композиции.
cell.HorizontalAlignment = Element.ALIGN_CENTER;
cell.VerticalAlignment = Element.ALIGN_MIDDLE;