Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.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
我可以使用javascript调用服务器端方法而不引起回发吗?_Javascript_Asp.net - Fatal编程技术网

我可以使用javascript调用服务器端方法而不引起回发吗?

我可以使用javascript调用服务器端方法而不引起回发吗?,javascript,asp.net,Javascript,Asp.net,我有在ASP.NET中调用方法的JavaScript代码。基本上,我有一个SqlDataSource连接到GridView,我想更改DataSource的SelectCommand,而不引起回发 现在,我正在使用\uu dopostback方法,但正如我所说的,我不希望重新加载页面。我只想更新GridView。这可能吗 事情不是这样的。有很多方法可以做到这一点,但最简单的方法是将内容封装在UpdatePanel中,并在页面上放置ScriptManager 例如: <asp:ScriptMa

我有在ASP.NET中调用方法的JavaScript代码。基本上,我有一个
SqlDataSource
连接到
GridView
,我想更改
DataSource
SelectCommand
,而不引起回发


现在,我正在使用
\uu dopostback
方法,但正如我所说的,我不希望重新加载页面。我只想更新
GridView
。这可能吗

事情不是这样的。有很多方法可以做到这一点,但最简单的方法是将内容封装在UpdatePanel中,并在页面上放置ScriptManager

例如:

<asp:ScriptManager id="mymanager" runat="server" />

<asp:UpdatePanel id="mainPanel" runat="server">
<ContentTemplate>

<! -- Put your content here -->

</ContentTemplate>
</asp:UpdatePanel>


  • 事情不是这样的。有很多方法可以做到这一点,但最简单的方法是将内容封装在UpdatePanel中,并在页面上放置ScriptManager

    例如:

    <asp:ScriptManager id="mymanager" runat="server" />
    
    <asp:UpdatePanel id="mainPanel" runat="server">
    <ContentTemplate>
    
    <! -- Put your content here -->
    
    </ContentTemplate>
    </asp:UpdatePanel>
    
    
    

  • GridView
    放入
    asp:UpdatePanel
    。所有涉及网格的回发都将更改为回调,您的网格应该在不重新加载整个页面的情况下更新。

    GridView
    放入
    asp:UpdatePanel
    。所有涉及网格的回发都将更改为回调,您的网格应该在不重新加载整个页面的情况下更新。

    @Raynos:告诉我吧!!!我没有出于这个原因使用它,但它是OP中最容易实现的。一旦他/她掌握了这一点,他/她肯定会研究jQuery。@lcarus:谢谢你的帮助。。。一旦我实现了它,我将标记您的答案…但可能需要一段时间:(@user1028488:没问题。你可以在网站上这样做,基本上不需要一行代码更改。这不是万能药,但肯定比常规回发要好。@Icarus:如果我们知道不应该使用
    UpdatePanel
    ,但仍然推荐给缺乏经验的开发人员,我们不就是在鼓励糟糕的实现吗我们后来抱怨的问题?@R0MANARMY:你说得对。我会在一分钟内发布另一个备选方案。@Raynos:告诉我!!!我不使用它,但它是OP最容易实现的方法。一旦他/她掌握了这一点,他/她肯定会研究jQuery。@lcarus:谢谢你的帮助……一旦我得到你的答案,我会标记出来lemented…可能需要一段时间:(@user1028488:没问题。你可以在网站上这样做,基本上不需要一行代码更改。这不是万能药,但肯定比常规回发要好。@Icarus:如果我们知道不应该使用
    UpdatePanel
    ,但仍然推荐给缺乏经验的开发人员,我们不就是在鼓励糟糕的实现吗我们后来抱怨的问题?@R0MANARMY:你说得对。我会在一分钟内发布另一个备选方案。以什么方式更改select命令?我从javascript获得一些值,根据这些值,我必须更改我的Gridview(这是一个用户控件)。因此我正在这样做:''doPostBack(pageId,query)“;select命令接受'query'的值以什么方式更改select命令?我从javascript中获取一些值,根据这些值我必须更改我的Gridview(这是一个用户控件)。因此,我正在执行以下操作:''uu doPostBack(pageId,query)';select命令接受'query'的值”
    $.ajax({
        type: "POST",
        dataType: 'json',
        contentType: "application/json; charset=utf-8",
        url: "MyWebService.svc/GetSomeData",
        data: {'dataId': you_id_here },
        success: function(result) {
            //result.d will contain an array of BusinessObject in JSON format
            //You can iterate through this list and populate your html using this data.
            //You can either use jQuery templates
            //or one of the many jQuery plugins for tabular data.
            //I use datatables:
            //http://datatables.net/
            for(int i=0;i<result.d.length; i++)
            {
                //do something here if you want to iterate one by one constructing your
                //html
            }
        },
        error: function(xhr, ajaxOptions, thrownError) {
               //display error here
            });
        }
    });