在链接上单击菜单BindDataList

时间:2013-07-18 16:56:44

标签: c# asp.net sql visual-studio-2012 datalist

我有这段代码:

 $(document).ready(function () {


        $('#Priroda').hide();

        $('#priroda_').click(function () {
            $('#Znamenitosti').hide();
            $('#Priroda').show();


        });

        $('#znamenitosti_').click(function () {
            $('#Priroda').hide();
            $('#Znamenitosti').show();
        });
    });


</script>
 <div class="meni">
    <nav>
    <ul>
    <li class="active"><a href="#">Info</a></li>
    <li><a href="#" id="znamenitosti_">Znamenitosti</a></li>
    <li><a href="#" id="priroda_">Priroda</a></li>
    <li><a href="#" id="nokenzivot_">Noken Zivot</a></li>
     </ul>
        </nav>
        </div>

我菜单中的几个类别。当我点击特定类别时,我想在同一.aspx页面中显示该特定类别的(div)标签,并且应隐藏其他类别的其他(div)标签。 这是“Priroda”类别的(div)标签:

<div class="Priroda" id="Priroda">
         <asp:DataList ID="DataList1" runat="server" RepeatColumns="7" CellPadding="3">
  <ItemTemplate>
<div class="boxButton">
<ul class="Gallery">
<li><a id="A1"  href='<%# Eval("ime","~/Sliki/Ohrid/Priroda/{0}") %>' title='<%# "Од "+ Eval("userid")+ ", на " +  Eval("datum")+ ", " +  Eval("opis")%>'  rel="FaceBox[gallery1]" runat="server" >
 <asp:Image ID="Image1"  ImageUrl='<%# Bind("ime", "~/Sliki/Ohrid/Priroda/{0}") %>' runat="server" Width="140" Height="140" AlternateText='<%# Bind("imeslika") %>' />
 </a></li></ul></div>
 </ItemTemplate>
 </asp:DataList>
    </div>

为了绑定DataList,我在.cs文件中使用了这段代码:

protected void BindDataList1()
{
    String strConnString = System.Configuration.ConfigurationManager
        .ConnectionStrings["makbazaConnectionString"].ConnectionString;
    SqlConnection con = new SqlConnection(strConnString);
    con.Open();
    //Query to get ImagesName and Description from database
    SqlCommand command = new SqlCommand("SELECT ime, imeslika, kategorija, datum, opis, slikapateka, userid FROM Ohrid WHERE kategorija='Priroda'", con);
    SqlDataAdapter da = new SqlDataAdapter(command);
    DataTable dt = new DataTable();
    da.Fill(dt);
    dlImages.DataSource = dt;
    dlImages.DataBind();
    con.Close();
}

现在我不知道如何调用BindDataList1();当我点击该类别时向我显示数据。我为每个类别都有不同的BindDataLists。你能告诉我如何为从菜单中选择的类别调用特定的BindDataList吗?例如,当我点击链接Priroda告诉我(div)标签Priroda和BindDalaList1();,当我点击链接Znamenitosti给我看(div)标签Znamenitosti和BindDalaList2();

1 个答案:

答案 0 :(得分:0)

我认为一种简单的方法是同时为所有类别运行数据绑定函数,例如在“DataList1”的PreRender事件中,所以所有数据都在页面上,每个位都只是隐藏或通过你的jQuery显示。

或者,你可以使用而不是标签,并设置一个OnClick属性来调用你的DataBind1方法。