【发布时间】:2016-10-25 15:31:34
【问题描述】:
我的 aspx 页面后面的代码中有一个方法,我需要从 Javascript 调用两个方法,我遇到的问题是我试图用 Json 请求和 WebMethod 来做,但是此方法必须是静态的,并且无法从此方法访问页面组件和其他方法。
我正在尝试类似的东西:
javascript函数
function Func(Value) {
var conf=confirm('Sure? '+valor)
if (conf==true)
{
BlockAction();
}
}
function BlockAction() {
$.ajax({
type: "POST",
url: 'frmVentaTelefonica.aspx/BlockAction',
data: "",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
$("#divResult").html("success");
},
error: function (e) {
$("#divResult").html("Something Wrong.");
}
})};
代码隐藏代码:
[WebMethod]
public static void BlockAcction()
{
try
{
frmVentaTelefonica venta = new frmVentaTelefonica();
venta.ConsultarVentaTelefonica();
venta.ImprimirTiquetes();
}
catch (Exception e)
{
throw;
}
}
我想在确认为真时调用这两个方法。
更新: 需要访问两个这样的方法:
public void ConsultarVentaTelefonica()
{
DatosImpresion = new List<Impresion>();
IServicioVentas servicioVentas;
servicioVentas = SATWebServiceLocator<IServicioVentas>.ObtenerServicio();
string Tiquetes = string.Empty;
foreach (GridDataItem dataItem in gridInfoVentaTelefonica.MasterTableView.Items)
{
if ((dataItem.FindControl("CheckBox1") as CheckBox).Checked)
{
Tiquetes = Tiquetes + (dataItem["Tiquete"]).Text + ",";
}
}
Tiquetes = Tiquetes.TrimEnd(Tiquetes[Tiquetes.Length - 1]);
Tiquetes = " " + Tiquetes + " ";
DataSet dsResultado = servicioVentas.EntregaTelefonica(sessionR8A.Turno.IdTurno, Tiquetes);
if (dsResultado.Tables.Count > 0 && dsResultado.Tables[0].Rows.Count > 0)
当它为真时运行它,这些方法在数据库中更新并打印一张票(首先读取一个网格检查项目)
【问题讨论】:
-
请详细说明问题。为什么需要从后面的代码中访问页面组件?您到底想访问什么?为什么不将所需的任何值传递给 BlockAction 方法?
-
继续前进。我们在 2016 年。使用 WebAPI!
-
我知道老了,真的很想更新到新技术。
标签: javascript c# asp.net json ajax