Добрый день! Я пытаюсь отобразить результат запроса хранимой процедуры в текстовое поле на моей странице. Эта хранимая процедура возвращает только один результат — продажи за день. Я пытаюсь сделать это через JSonresult, чтобы передать его ajax на моей странице просмотра. Но мне не удалось его пройти.
У меня есть таблица с именем ORDER, в которой есть столбцы ORDER_DATE и NET_AMOUNT. Мне нужно отобразить сумму net_amount за текущий день. Вот мой запрос:
SELECT SUM(NET_AMOUNT) AS DAILY_SALES
FROM [ORDER]
WHERE ORDER_DATE = GETDATE()
Затем я вызываю эту хранимую процедуру в моем контроллере с помощью этого метода:
public JsonResult GetSalesToday()
{
DataTable dtTable = new DataTable();
List<string> lstSales = new List<string>();
string strQuery = "SP_DAILY_SALES";
SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["DefaultConnection"].ToString());
SqlCommand cmd = new SqlCommand(strQuery, con);
cmd.CommandType = CommandType.StoredProcedure;
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dtTable);
foreach (DataRow row in dtTable.Rows)
{
lstSales.Add(row["DAILY_SALES"].ToString());
}
var DailySales = new
{
SALESTODAY = lstSales
};
return Json(DailySales, JsonRequestBehavior.AllowGet);
}
а затем вызовите его на мой взгляд следующим образом:
$.ajax(
{
datatype: "json",
type: "POST",
url: "/Sales/GetSalesToday",
data: JSON,
success: function (data) {
DailySales(data);
},
error: function () { alert("Error"); }
});
Как я могу вызвать это в свое текстовое поле?
<div class="form-group">
@Html.LabelFor("DailySales", "Sales", htmlAttributes: new { @class = "col-xs-4 col-sm-offset-1 col-sm-4" })
<div class="col-lg-6 col-lg-6 col-md-6 col-md-6 col-sm-6 col-sm-6 col-xs-6 col-xs-6">
@Html.TextBoxFor("DailySales", new { @class = "form-control" })
@Html.ValidationMessageFor("DailySales", "", new { @class = "text-danger" })
</div>
</div>
Где я ошибаюсь? Может ли кто-нибудь помочь мне в этом? Заранее спасибо!
DailySales(data);
? - person JamieD77   schedule 11.08.2016