<script runat="server">
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If Not Page.IsPostBack Then
LstAppCode_SelectedIndexChanged(sender, e)
End If
End Sub Protected Sub LstAppCode_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs)
AccessDataSource2.SelectCommand = "SELECT * FROM [Banner] Where AppCode='" & LstAppCode.SelectedValue & "'"
lblCaption.Text = LstAppCode.SelectedItem.Text
End Sub Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
AccessDataSource2.SelectCommand = "SELECT * FROM [Banner] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs)
AccessDataSource2.SelectCommand = "SELECT * FROM [Banner] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs)
AccessDataSource2.SelectCommand = "SELECT * FROM [Banner] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub</script><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>
选择频道:<asp:DropDownList ID="LstAppCode" runat="server" AutoPostBack="true" OnSelectedIndexChanged="LstAppCode_SelectedIndexChanged" >
<asp:ListItem Value="FZ">云南服装</asp:ListItem>
<asp:ListItem Value="HZPZYX">云南化妆品专业线</asp:ListItem>
<asp:ListItem Value="PE">云南普洱茶</asp:ListItem>
<asp:ListItem Value="NY">云南内衣</asp:ListItem>
<asp:ListItem Value="XY">云南鞋业</asp:ListItem>
<asp:ListItem Value="HZPRH">云南化妆品(日化)</asp:ListItem>
</asp:DropDownList><p><asp:Label runat="server" ID="lblCaption" Text="" /></p>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="AccessDataSource2" AutoGenerateEditButton="True" DataKeyNames="Position" OnRowEditing="GridView1_RowEditing" OnRowCancelingEdit="GridView1_RowCancelingEdit" OnRowUpdated="GridView1_RowUpdated">
<Columns>
<asp:BoundField DataField="Position" HeaderText="广告位" ReadOnly="True" SortExpression="Position" />
<asp:ImageField DataImageUrlField="URL" HeaderText="图片" >
<ControlStyle Width="100%" />
</asp:ImageField>
<asp:BoundField DataField="Link" HeaderText="链接" />
<asp:BoundField DataField="AppCode" Visible="false" />
</Columns>
</asp:GridView>
<asp:AccessDataSource ID="AccessDataSource2" runat="server" DataFile="/App_Data/heart.mdb"
UpdateCommand="UPDATE [Banner] SET URL =@URL,Link=@Link Where Position=@Position and AppCode=@AppCode">
<UpdateParameters>
<asp:ControlParameter ControlID="GridView1" Name="URL" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="Position" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="Link" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="AppCode" Type="string" />
</UpdateParameters>
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
现在的问题是,当我点击“编辑”,并修改内容后点“更新”按钮,数据始终无法修改,仍是更新前的数据,这个是怎么回事?
这里有两个参数。。一般来说。只需要一个就OK。你这里用了两个。。那么。。只有满足这两个参数时才会更新。你可以去掉一个参数。还有。。这里一般用ID。如果上办法。解决不了。。重新修正下数据库加一个自增加的ID进去