C# 在更新面板中包装中继器后,页面仍会刷新

C# 在更新面板中包装中继器后,页面仍会刷新,c#,javascript,asp.net,ajax,webforms,C#,Javascript,Asp.net,Ajax,Webforms,我有两个SqlDataSource和两个中继器,每个中继器包含一个超链接(我还尝试使用web服务器按钮和锚) 超链接从数据库中获取一些值,在NavigationUrl属性中,我使用string.Format方法创建参数化url,以传递给浏览器,然后根据url中传递的值填充第二个中继器,该值最初由第一个中继器的超链接传递 这是我的示例代码: | | 现在!每次我点击任何超链接,它都会导致一篇完整的回帖并刷新页面!我遗漏了什么吗?很确定不会让您得到部分更新,它会以标记的形式呈现到HTML中。您

我有两个SqlDataSource和两个中继器,每个中继器包含一个超链接(我还尝试使用web服务器按钮和锚)

超链接从数据库中获取一些值,在NavigationUrl属性中,我使用
string.Format
方法创建参数化url,以传递给浏览器,然后根据url中传递的值填充第二个中继器,该值最初由第一个中继器的超链接传递

这是我的示例代码:


|


|

现在!每次我点击任何超链接,它都会导致一篇完整的回帖并刷新页面!我遗漏了什么吗?

很确定
不会让您得到部分更新,它会以
标记的形式呈现到HTML中。您需要一个实际导致回发的控件,一个

首先,任何要回发的值都不要使用查询字符串,它是同一页。 将内容放置在隐藏字段或按钮命令参数中

<asp:HiddenField ID="hdnFieldName" Value='<%# Eval("columnName") %>' runat="server" />
请记住设置update panel Mode=“conditional”这将导致updatepanel仅在以下情况之一发生时更新:

1) 如果updatepanel中的控件导致回发,例如asp.net按钮

2) 如果updatepanel上发生触发器(关于触发器:)

3) 最后,如果调用“Update()”方法


否则,它将不会更新和刷新。当其设置为“始终”时,updatepanel或其他updatepanel之外的任何回发都会触发updatepanel刷新。

Yh,不幸的是,我尝试使用asp.net按钮,但仍然是一样的!不要将回发URL放在那里!您正在强制它不回发到当前页面,因此它无法恢复不要陷入局部更新。只要用OnClick事件做一个
!或者,也许你最好使用
iframe
而不是
,如果你坚持将所有内容都放在URL中的方法?我不坚持任何方法,这只是我想到的!如果你有任何建议ns要将参数传递到url,只需共享它!我希望我可以学习更好的方法!好的,我有点困在这里!linkbutton或button在中继器中时不能有OnClick事件!相反,您可以使用CommandArgument属性并在中继器的itemCommand事件中搜索它!…现在如何允许OnClick事件发生或者随便什么='Text='!!如果你想在查询字符串中找到一个新的URL,你不能进行部分页面更新。就这么简单。部分页面更新不是这样工作的。它们涉及保持在同一页面上,相同的URL,并更新页面的部分内容。好的,尼克,这是有意义的。所以我将传递第二个中继器interna的值lly不是通过querystring(对不起!我使用querystring的方法是错误的:S)…但是正如你所看到的,我希望有一种特殊的排序方式,那么如何使页面按名称排序,例如“bookmarkable”" ? 还有一件事!如果我想使用commandArgument,我不知道代码是什么,第二个中继器的数据源使用的代码是什么?!因为它不允许我选择指定要使用的控件-我不确定选择什么作为where参数值的源,或者我是否做得都不对-
<asp:HiddenField ID="hdnFieldName" Value='<%# Eval("columnName") %>' runat="server" />
    protected void rptName_ItemCommand(object source, RepeaterCommandEventArgs e)
    {
        if(e.CommandName.Equals("ButtonCommandName"))
        {
            RepeaterItem objItem = e.Item;
            var objFieldValue = (HiddenField)objItem.FindControl("hdnFieldName"); 
        }
    }