谁能帮我这个?在客户端部分刷新更新面板

时间:2009-05-28 13:19:45

标签: asp.net vb.net gridview updatepanel

我有一个动态创建的gridview按钮,可以在单击时触发模式弹出窗口。我是这样在客户端这样做的:

function openModal(btnId, v) {
deptdata(v);
   // __doPostBack('<%=DropDownList1.ClientID %>', '');
    btn = document.getElementById(btnId);
    btn.click();
}
function deptdata(v) {
    document.getElementById('<%=vendor.ClientID%>').value = v;

}

这是在代码中调用函数的方式。

btnedit.OnClientClick = String.Format("openModal('{0}','" & GridView1.Rows(i).Cells(0).Text & "');return false;", hidden.ClientID)

我设置了隐藏字段(供应商)的值,但我需要该模式弹出窗口中的值。我有一个下拉列表,取决于新设置的变量。根据单击的行设置变量。所以我需要以某种方式重新加载该弹出窗口。我有一个更新面板,但我不能让该面板重新加载。我已经尝试了__doPostback而且没有帮助。任何想法如何使用javascript更新面板或面板中的下拉列表?

1 个答案:

答案 0 :(得分:0)

从您的描述和您提供的有限代码中可以确切地知道您正在尝试做什么以及什么是失败的,这一点并不十分清楚。但是,以下内容可能会给您一些想法。如果您提供更多详细信息和代码,则有人可能会给您更好的答案。

ScriptManager1.RegisterAsyncPostBackControl(按钮1);

从js触发更新面板回发,确保使用UniqueID,而不是ClientID,这是阻止异步回发工作的常见问题。

__ doPostBack(“&lt;%= Button1.UniqueID%&gt;”,“”);

就个人而言,我已经放弃了UpdatePanels,我只在最琐碎的情况下使用它们。我更喜欢让我的js调用ASP.Net JSON webservice并使用on completed函数呈现对html所需的任何更改。对于具有大网格或大量控件的页面,它更灵活,更轻,更快。