asp.net 的派车

来源:互联网 发布:日本能造航母吗 知乎 编辑:程序博客网 时间:2024/04/29 18:39

主要是学习.net做的

 

前台

 

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="car.aspx.vb" Inherits="car_car" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
    <title>无标题页</title>
</head>
<style>
body{font-size:12px}
.clearb{clear:both}

.car_info{width:100%;height:200px;border:0px #ccc solid}
.car_item{width:210px;height:170px;border:1px #ccc dashed;float:left;margin-right:10px;background:#FFFFFF}
.car_total{width:100%;height:24px;line-height:24px;font-size:14px;margin-top:4px;}

.car_title{width:100%;height:22px;line-height:22px;}

.car_people{width:100%;margin-top:5px;padding-left:5px;}
.car_people_item{width:60px;height:25px;border:1px #ccc dashed;float:left;margin-right:4px;line-height:25px;text-align:center;margin-bottom:5px;overflow:hidden;background:#EFF8FC}

.people_info{width:98%;height:200px;border:1px #ccc solid;padding-top:5px;padding-left:5px;background:#EFF8FC}
.people_item{width:80px;height:25px;border:1px #ccc dashed;float:left;margin-right:10px;line-height:25px;background:#FFFFFF}

</style>
<script language="javascript">
var icount=<%#b%>
function clearall()
{
var i
for(i=1;i<=icount;i++)
{
document.getElementById("car_people_"+i).innerHTML=""

}
}


    function addcar1() //上车
    {

   
    if(document.all("peopleid").length==null)
    {
     if(document.getElementById("peopleid").checked==true)
     {
      return true
     }
     else
     {
     alert("请选择人员后点击该按钮!")
        return false
     }
    }
    else
    {
    for(var i=0;i<document.all("peopleid").length;i++)
     {
      if(document.all("peopleid")[i].checked==true)
      {
      
                return true
      }
     }
     alert("请选择人员后点击该按钮!")
     return false
    } 
     
    }
   
   
    function clickme(a)
    {
    document.getElementById("HiddenField1").value=a
    }
</script>

<body>
    <form id="form1" runat="server">
    <div>
   
       
   

           
                <asp:Repeater ID="Repeater1" runat="server">
                <HeaderTemplate >
                <div id="car_info" class="car_info">
                </HeaderTemplate>
<ItemTemplate >
                <div id="car_<%#eval("id")%>" class="car_item">
          <div class="car_title">&nbsp;<%#eval("car_name")%>&nbsp;&nbsp;可载<%#eval("car_count")%>人&nbsp;&nbsp;<%#IIf(Eval("car_zt") = 0, "可用", "<font color=red>不可用</font>")%></span> &nbsp;[<asp:LinkButton runat ="server" CommandName ="clearcar" ID="ac" OnCommand="clearcar">下车</asp:LinkButton>]</div>
  
  <div class="car_people" id="car_people_<%#eval("id")%>">
      <asp:Repeater id="repeater_z" runat ="server">
      <ItemTemplate>
            <div id="car_people_item" class="car_people_item"><asp:linkbutton id="link1" runat="server" OnCommand="clearone" CommandName ='<%#eval("id") %>' Text="X" /></asp:linkbutton>&nbsp;<%#eval("people_name")%></div>
      </ItemTemplate>
      </asp:Repeater>
  </div>
                </div>
</ItemTemplate>
<FooterTemplate ></div></FooterTemplate>
                </asp:Repeater>
          

          
      <asp:Repeater ID="Repeater2" runat="server">
    <HeaderTemplate >
    <br>
    <!-- 人员信息 begin -->
<div id="people_info" class="people_info">
</HeaderTemplate>
<FooterTemplate >
</div>
<!-- 人员信息 end-->
</FooterTemplate>
    <ItemTemplate>
   
 <div class="people_item">&nbsp;<input type="radio" value='<%#eval("id")%>' name="peopleid" id="peopleid" onclick="clickme(this.value)" /><%#Eval("people_name")%></div>

    </ItemTemplate>
    </asp:Repeater>        
                 <asp:Button ID="Button1" runat="server" Text="ClearAll"
                    />


      
    </div>

    <asp:SqlDataSource ID="SqlDataSource1" runat="server"
        ConnectionString="<%$ ConnectionStrings:carconnstr %>"
        ProviderName="<%$ ConnectionStrings:carconnstr.ProviderName %>"
        SelectCommand="SELECT * FROM [car]"></asp:SqlDataSource>
    <asp:Repeater ID="Repeater3" runat="server" DataSourceID="SqlDataSource1">
    <ItemTemplate >
    <asp:Button runat="server" ID="ba" text='<%#eval("car_name")%>' CommandName='<%#eval("id") %>' oncommand="addcar" />
    </ItemTemplate>
    </asp:Repeater>

    <asp:HiddenField ID="HiddenField1" runat="server" />

    </form>
</body>
</html>

后台

 

Imports System.Data
Imports System.Data.OleDb

Partial Class car_car
    Inherits System.Web.UI.Page
    Public b As Integer
    Dim cn As New OleDbConnection(ConfigurationManager.ConnectionStrings("carconnstr").ToString)
    Dim cn2 As New OleDbConnection(ConfigurationManager.ConnectionStrings("carconnstr").ToString)

    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim t As Integer = 0
        Dim cm As New OleDbCommand("update people set car_id=0", cn)
        cn.Open()
        t = cm.ExecuteNonQuery()
        cm.Dispose()
        cm = Nothing
        cn.Close()

        bind()


    End Sub

 

    Protected Sub Repeater1_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater1.ItemDataBound
        If e.Item.ItemType = ListItemType.Item Or e.Item.ItemType = ListItemType.AlternatingItem Then
            Dim i As Integer = 0
            i = DataBinder.Eval(e.Item.DataItem, "id")
            'Response.Write(i)

            Dim cm As New OleDbCommand("select * from people where car_id=" & i, cn2)
            cn2.Open()
            Dim dr As OleDbDataReader
            dr = cm.ExecuteReader

            Dim t As Repeater
            t = e.Item.FindControl("repeater_z")
            t.DataSource = dr
            t.DataBind()
            cn2.Close()

            Dim w As LinkButton
            w = e.Item.FindControl("ac")
            w.CommandName = i

        End If
    End Sub

    Sub itemcount()
        b = 0
        Dim cm As New OleDbCommand("select count(*) from car", cn)
        cn.Open()
        b = cm.ExecuteScalar
        cm.Dispose()
        cm = Nothing
        cn.Close()


    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

 

        If Not Page.IsPostBack Then
            ' itemcount()
            ' Page.DataBind()
            ' Button1.Attributes.Add("onclick", "clearall();")
            bind()

        End If
    End Sub
    Sub clearcar(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim t As LinkButton
        t = sender
        Dim i As Integer = 0
        i = CInt(t.CommandName)

        Dim cm As New OleDbCommand("update people set car_id=0 where car_id=" & i, cn)
        cn.Open()
        cm.ExecuteNonQuery()

        ' Repeater2.DataBind()
        ' Repeater1.DataBind()

        bind()


    End Sub

    Sub clearone(ByVal sender As Object, ByVal e As System.EventArgs)
        Dim t As LinkButton
        t = sender

        Dim i As Integer = 0
        i = CInt(t.CommandName)

        'Response.Write(i)

        Dim cm As New OleDbCommand("update people set car_id=0 where id=" & i, cn)
        cn.Open()
        cm.ExecuteNonQuery()

        ' Repeater2.DataBind()
        ' Repeater1.DataBind()

        bind()

 

 

    End Sub

    Sub addcar(ByVal sender As Object, ByVal e As System.EventArgs)


        Dim t As Button
        t = sender
        'Response.Write(t.CommandName)

        'Response.Write(HiddenField1.Value)

        Dim sql As String
        sql = "update people set car_id=" & t.CommandName & " where id=" & HiddenField1.Value
        Dim cm As New OleDbCommand(sql, cn)
        cn.Open()
        cm.ExecuteNonQuery()
        cn.Close()

        bind()

        'Dim i2 As Integer = 0
        ''Response.Write(Repeater2.Items.Count)
        'For i2 = 0 To Repeater2.Items.Count - 1
        '    If Repeater2.Items(i2).ItemType = ListItemType.Item Or Repeater2.Items(i2).ItemType = ListItemType.AlternatingItem Then
        '        Dim c As HtmlInputRadioButton
        '        c = Repeater2.Items(i2).FindControl("peopleid")

 


        '        If c.Checked = True Then
        '            '    Dim sql As String
        '            '    sql = "update people set car_id=" & t.CommandName & " where id=" & c.Value
        '            '    Dim cm As New OleDbCommand(sql, cn)
        '            '    cn.Open()
        '            '    cm.ExecuteNonQuery()
        '            '    cn.Close()

        '            '    bind()
        '            Response.Write(c.Value)

        '        End If

        '    End If
        'Next

    End Sub

    Sub bind()
        Dim da As New OleDbDataAdapter("select * from car", cn)
        Dim da2 As New OleDbDataAdapter("select * from people where car_id=0", cn)
        Dim ds As New DataSet
        da.Fill(ds, "car")
        da2.Fill(ds, "people")

        Repeater1.DataSource = ds.Tables("car").DefaultView
        Repeater1.DataBind()

        Repeater2.DataSource = ds.Tables("people").DefaultView
        Repeater2.DataBind()

 

    End Sub

    Protected Sub Repeater3_DataBinding(ByVal sender As Object, ByVal e As System.EventArgs) Handles Repeater3.DataBinding

 

    End Sub

    Protected Sub Repeater3_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.RepeaterItemEventArgs) Handles Repeater3.ItemDataBound
        Dim t1 As Button

        t1 = e.Item.FindControl("ba")
        t1.Attributes.Add("onclick", "return addcar1()")


    End Sub
End Class

原创粉丝点击