将C#方法转换为异步调用页/Web方法或jQuery的最简单方法
我有一个来自web表单的C#方法,我想用Page方法、web方法或jQuery异步调用它,以避免回发到服务器。该方法调用其他方法并重建树视图,执行验证并设置一些其他值。下面是一个代码示例 最简单的方法是什么? 如有可能,欢迎提供任何代码示例。没有更新面板将C#方法转换为异步调用页/Web方法或jQuery的最简单方法,c#,jquery,asynchronous,C#,Jquery,Asynchronous,我有一个来自web表单的C#方法,我想用Page方法、web方法或jQuery异步调用它,以避免回发到服务器。该方法调用其他方法并重建树视图,执行验证并设置一些其他值。下面是一个代码示例 最简单的方法是什么? 如有可能,欢迎提供任何代码示例。没有更新面板 protected void btnSubmit_Click(object sender, ImageClickEventArgs e) { if (ValidateSelection() == true)
protected void btnSubmit_Click(object sender, ImageClickEventArgs e)
{
if (ValidateSelection() == true)
{
int ProductID = Convert.ToInt32(grdGetProducts.SelectedValue.ToString());
if (Convert.ToInt32(ddBetTypeID.SelectedItem.Value) != 2)
{
SubmitProduct(Convert.ToInt32(ddProductTypeID.SelectedItem.Value), currentWeek, Convert.ToInt32(ddProductID.SelectedItem.Value), Convert.ToInt32(ddValue.SelectedItem.Value), Convert.ToInt32(ddCost.SelectedItem.Value), ProductID);
}
if (Convert.ToInt32(ddProductTypeID.SelectedItem.Value) == 2)
{
int price;
price= 1;
//if 1 open side then part 2
if (txtProductID.Text != "0" && txt2ProductID.Text == "0")
{
price= 2;
}
if (ProductID > 2)
{
BuildTree(currentTime, Convert.ToInt32(ddProductID.SelectedItem.Value), currentProduct);
}
}
}
如果没有更新面板,您肯定需要大量的客户端javascript 我一直在用动态表做类似的事情,我做的第一件事就是隔离数据和显示。你应该从做同样的事情开始 弄清楚正在验证哪些数据,以及如何在客户机上收集这些数据以发送到web方法。然后,您需要编写客户端脚本来进行收集和发布。使用客户端脚本发布后,在ajax调用的回调中,您将需要在页面上进行渲染。如果没有更新面板,这一切都在你身上 如果不使用更新面板,问题是必须重新创建treeview结构或在客户端对其进行操作。这意味着替换所有元素及其事件处理程序。对于更复杂的ASP控件来说,这可能是一项非常艰巨的任务 服务器需要发送回渲染的是树所需的所有数据。但你得弄清楚那是什么 我以前动态渲染过GridView,因为使用它们来创建复杂样式很好。然后,根据我从服务器获得的数据,在客户机上用脚本创建行;我想你可以用树视图做类似的事情 通过阅读,我学到了很多关于jQuery、ajax和ASP.NET交互的知识。那个人是一个极好的资源