传递值并从Javascript重新加载用户控件

bal*_*dre 2 javascript asp.net jquery user-controls asp.net-ajax

我有一个用户控件(因为我用在其他页面一样,所以我想我应该重用代码和我的工作没有翻番),但在这个页面我告诉公司的名单和每个人都有一个公司号码,我需要将此公司编号传递给该用户控件,并且必须使用该传递的公司编号重新加载.

我怎么能做到这一点?

到目前为止我所拥有的:

替代文字http://www.balexandre.com/temp/2009-09-17_0917.png

展会公司结构的链接是由

<a href="javascript:showStruct('112:201334607','5564967221');" 
   class="showStructLink">Show company structure</a>
Run Code Online (Sandbox Code Playgroud)

showStruct方法是这样写

  function showStruct(pid, cnr) {
     if (_showStrut == 0)
        return;

     // fancy stuff to be more apealing visually
     $("#tdSearch").removeClass("tabTitleUp01").addClass("tabTitleDownUp01");
     $("#tdStruct").removeClass("tabTitleDownUp02").addClass("tabTitleUp02");

     $("#srtr1").hide();
     $("#srtr2").hide();
     $("#sttr1").show();

     // enable Search Results tab to be clicked in order to get back
     $("#tdSearch")
        .addClass("pointer")
        .bind("click", function() { hideStructure(); });

     // pass the company number and reload wcCompanyStruture web user control
     // __doPostBack('RefreshWebUserControl', cnr);
  }
Run Code Online (Sandbox Code Playgroud)

我可以做一个简单的aspx页面里面和jQuery的控制调用$获得()来运行和正确填充了控制,但我真的想学习如何正确地做到这一点,利用ASP.NET AJAX方法来发送一个编号并调用RefreshData

使用代码隐藏它很容易刷新用户控件,只需调用

wcCompanyStruture.RefreshData("companyNumberHere");
Run Code Online (Sandbox Code Playgroud)

我需要在用户控制方面做什么,以及在showStruct方法中创建此行为?

感谢所有帮助,谢谢.

Hel*_*elo 5

我知道这不是你问题的答案,但我想你可能会问错误的问题.

它看起来好像你有一个搜索结果+详细信息视图场景,你正在以错误的方式.

当您单击"显示公司结构"时,您想要在第二个选项卡上看到详细信息吗?如果是这种情况,则选项卡方法会让用户感到困惑,使用显示详细信息的模式弹出窗口会更好.没有回发只是AJAX将带有详细信息的页面加载到模态弹出窗口中.

使用JQueryUI中的对话框小部件和AJAX加载函数,JQuery非常容易 $('#SomeDiv').load('details.aspx?id='+companyid);

http://docs.jquery.com/Ajax/load#urldatacallback

它可以提供更好的用户体验,编码非常简单.

我希望这有帮助.