PageMethods с ASP.NET MVC

Вместо создания строки для передачи в writer.writerow вы должны создать список строк.

        writer.writerow([id, email, first_name, last_name, institution, modification_date, country, creation_date])

Обратите внимание, что эта строка уже то, что вы хотите, так что вы можете упростить это до

import csv
import re

with open('customer.csv', 'r') as csvFile:
    reader = csv.reader(csvFile, delimiter=";")
    writer = csv.writer(open("output.csv", 'w'), delimiter=";", quoting=QUOTE_NONNUMERIC)
    for row in reader:
        writer.writerow(row)

Кроме того, вы также должны добавить правильный разделитель для писателя.

Наконец, я думаю, что модуль CSV будет правильно обрабатывать цитирование. То есть, если в данных используется разделитель ',' он будет заключать в кавычки ',' в противном случае это не так. Таким образом, в соответствии со спецификацией CSV, добавлять кавычки вокруг учреждения с символом «,» было бы неправильно.

Если вам все же нужны кавычки, вы можете использовать аргумент ключевого слова quoting библиотеки csv. Это те константы, которые он поддерживает. https://docs.python.org/2/library/csv.html#csv.QUOTE_ALL . К сожалению, он не поддерживает цитирование только тех полей, которые вы хотите (если вы не измените разделитель на ','), но вы можете заключить в кавычки все поля или все нечисловые поля.

Чтобы объяснить поведение, которое вы видите: похоже, что writerow будет перебирать все, что ему дано, и, таким образом, перебирало строку, которую вы построили, и интерпретировало каждый символ как одно поле, добавляя, таким образом, «,» между каждым.

5
задан tpower 13 January 2009 в 21:11
поделиться

2 ответа

Я знаю, что могу использовать функцию Json для возвращения значения, но как я называю действие от клиента?

Я думаю, что Вы ищете любого getJSON

$.getJSON("/controller/action", function(json)
{
  alert("JSON Data: " + json.users[3].name);
});

или ajax метод jQuery.

Любой может назвать действие и вернуть данные JSON из ASP.NET MVC очень легко.

7
ответ дан 14 December 2019 в 01:19
поделиться

Я не думаю, что Вам нужны методы страницы. Методы страницы в asp.net являются способом выставить методы в классе страницы к Вашему клиентскому коду.

В MVC у Вас нет класса страницы, таким образом, можно просто выпустить XHR к URL (../controller/action/params, или безотносительно), и возвращать JSON из действия.

Обновление: После перечитывания Вашего вопроса это кажется, что Вы хотите знать, как выпустить XHR от клиента. В необработанном JavaScript можно просто использовать объект XMLHttpRequest, но независимо от того, что библиотека JS, которой Вы пользуетесь, вероятно, имеет более хорошую обертку. jQuery, например, здесь

2
ответ дан 14 December 2019 в 01:19
поделиться
Другие вопросы по тегам:

Похожие вопросы: