遇到问题如下:一个网页,分两栏,左侧为导航,右侧为显示区域。现在想实现如下操作:当点击左侧导航相应栏目时,触发事件,读取数据库信息,右侧显示相应内容。
现在我的导航是通过以下方式显示的。读取数据库中导航栏目,用literial控件以表格方式显示。这样以后栏目变动,只需修改数据库表中数据即可。
private void showNative()
{
        StringBuilder sTrHtml = new StringBuilder();
        DataTable nativeData = db.GetQuerySelectDT("select * from native");
        if (nativeData != null)
        {
            DataView nativeDv = nativeData.DefaultView;
            for (int i = 0; i < nativeDv.Count; i++)
            {
                sTrHtml.AppendFormat("<tr> ");
                sTrHtml.AppendFormat("<td>{0}</td>", nativeDv[i]["mc"].ToString());
                sTrHtml.AppendLine("</tr>");
            }
            nativeLiter.Text = sTrHtml.ToString();
}
现在的导航是以表格静态显示的,不知道如何才能实现单击触发事件,从而读取数据库数据,在右侧显示。拜求高人指点。

解决方案 »

  1.   

    JS加iframe能实现。。百度一下 很多
      

  2.   

    在Onclick事件里访问数据库,访问后台的程序。
      

  3.   

    ASP.NET服务器端控件,SiteMapPath。。或者TreeView也可以。。
      

  4.   

    给你点思路
    1、ajax请求
    2、页面放一个隐藏域,一个隐藏的按钮。查询方法放在隐藏按钮的On_click事件里
    2.1左侧的导航链接Onclick的js事件里,给隐藏域赋值,激活隐藏按钮的On_click
    2.2隐藏按钮的On_click事件里获得隐藏域的值,据此查询数据
      

  5.   

    周末没上网,没有看到你的回复,你试试这样行不test.aspx页面
    <input type="button" id="DoRefreshProxy" value="DO" onclick="__doPostBack('DoRefresh','');" style="display:none;" />
    <asp:LinkButton id="DoRefresh" runat="server" CausesValidation="false" onclick="DoRefresh_Click" ></asp:LinkButton>test.aspx.cs
        protected void DoRefresh_Click(object sender, EventArgs e)
        {
            //Page.RegisterStartupScript("111", "<script>alert('代理点击');</script>");
            this.bindData();
        }