获取查询字符串值而不进行完全回发

时间:2011-04-07 08:39:27

标签: c# asp.net

我有一个页面,其中左栏包含类别列表,右栏将显示从左侧选择特定类别的相应项目

每个类别列表都包含一个超链接,其导航网址包含查询字符串值。

点击链接后,我得到右侧列出的与查询字符串值匹配的项目

问题是:我想阻止完整的回发并同时捕获查询字符串值,否则我将无法获得右侧的项目列表。

我使用了更新面板,但完整的帖子又回来了。

有没有办法获得没有完整回发的查询字符串值???

<asp:UpdatePanel ID="UpdatePanel1" runat="server">
    <ContentTemplate>

    <div class="rightsec">

    <h5>Categories</h5>
        <asp:Accordion ID="Accordion1" runat="server">
            <Panes>
                <asp:AccordionPane ID="AccordionPane1" runat="server">
                    <Header>
                        <h4>
                            Electronics</h4>
                    </Header>
                    <Content>
                        <div class="rightsec_content">
                            <ul>
                                <li>
                                      <asp:HyperLink ID="HyperLink2" runat="server" NavigateUrl="show_products.aspx?category=Electronics&sub_category=Cameras Accessories">Camera Accessories</asp:HyperLink>   

                                </li>

                             </ul>
                        </div>
                    </Content>
                </asp:AccordionPane>

        </asp:Accordion>
    </div>

     </ContentTemplate>
    </asp:UpdatePanel>


    <asp:UpdateProgress ID="UpdateProgress1" runat="server" 
        AssociatedUpdatePanelID="UpdatePanel1">
    <ProgressTemplate>
     <table align="center">
            <tr>
                <td>
                    <asp:Image ID="Image1" runat="server" ImageUrl="~/staticimages/progress_bar_animated (1).gif"
                        ImageAlign="Top" />
                </td>
            </tr>
        </table>

    </ProgressTemplate>
    </asp:UpdateProgress>

3 个答案:

答案 0 :(得分:1)

嗯,是的,你可以做到这一点但这不是一件容易的事。

你需要编写一些JQUERY,并且必须使用AJAX。

使用它可以轻松实现这一目标。

我不太熟悉但是这个,但我知道这可以使用AJAX和JQUERY来完成。

可能还需要在项目中添加一些Web服务来实现此目的。

此链接可以帮助您http://api.jquery.com/jQuery.ajax/

答案 1 :(得分:0)

您可以将这样的值放在链接按钮的CommandArgument属性中,然后您就可以在后面的代码中访问它...

protected void lbtn_Click(object sender, EventArgs e)
{
    ((LinkButton)(sender)).CommandArgument 
}

答案 2 :(得分:0)

您可以使用javascript:http://www.west-wind.com/weblog/posts/884279.aspx

来获取它

然后可以使用任何ajax方式将其发送回服务器。