Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将C#方法转换为异步调用页/Web方法或jQuery的最简单方法_C#_Jquery_Asynchronous - Fatal编程技术网

将C#方法转换为异步调用页/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)

我有一个来自web表单的C#方法,我想用Page方法、web方法或jQuery异步调用它,以避免回发到服务器。该方法调用其他方法并重建树视图,执行验证并设置一些其他值。下面是一个代码示例

最简单的方法是什么? 如有可能,欢迎提供任何代码示例。没有更新面板

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交互的知识。那个人是一个极好的资源


Powlan,感谢您分享您在这方面的想法和经验。这很有道理。看起来很多,但一旦你完成了,就有很多代码可以重用。祝你好运