为什么GridView有的列能更新,有的列不能更新?

ynduanlian ynduanlian 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
请看我的全部代码,现在出现的奇怪现象是,GridView1一共三列显,点"编辑""更新",同时修改BrandName(名称)一列,和LogoURL字段(图标)一列时,LogoURL是可以修改其值的,但是BrandName的值始终不会变,这个是怎么回事呢?

<%@ Page Language="VB" Trace="False" %>
<%@ Import Namespace="System.Data" %>
<%@ Import Namespace="System.Data.OleDb" %>

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

<script runat="server">

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs)
If (Session("ValidUser") <> "Admin") Then ClientScript.RegisterClientScriptBlock(Me.GetType, "Redirect", "<" & "script>parent.location='default.aspx';</" & "script>")

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)
AccessDataSource1.SelectCommand = "Select * from [Brand] where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub

Protected Sub LnkAdd_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Server.Transfer("ht_AddBrand.aspx?AppCode=" & Server.UrlEncode(LstAppCode.SelectedValue))
End Sub

Protected Sub GridView1_RowEditing(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewEditEventArgs)
AccessDataSource1.SelectCommand = "Select * from [Brand] where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub

Protected Sub GridView1_RowUpdated(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdatedEventArgs)
AccessDataSource1.SelectCommand = "SELECT * FROM [Brand] Where AppCode='" & LstAppCode.SelectedValue & "'"
End Sub

Protected Sub GridView1_RowCancelingEdit(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCancelEditEventArgs)
AccessDataSource1.SelectCommand = "SELECT * FROM [Brand] 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" style="font-size:14px;">
选择频道:<asp:DropDownList ID="LstAppCode" runat="server" OnSelectedIndexChanged="LstAppCode_SelectedIndexChanged" AutoPostBack="true" >
<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>      
<asp:LinkButton ID="LnkAdd" runat="server" OnClick="LnkAdd_Click">新增品牌</asp:LinkButton>
<hr style="border-color:Lime; border-width:3px; border-style:ridge;" />
<div style="padding:10px 10px 10px 10px ">
<asp:GridView ID="GridView1" runat="server" DataSourceID="AccessDataSource1" AutoGenerateColumns="False"
DataKeyNames="BrandName,AppCode" AutoGenerateEditButton="true" OnRowEditing="GridView1_RowEditing" OnRowUpdated="GridView1_RowUpdated" OnRowCancelingEdit="GridView1_RowCancelingEdit" >
<Columns>
<asp:BoundField DataField="BrandName" HeaderText="名称" SortExpression="BrandName" />
<asp:BoundField DataField="AppCode" Visible="false" />
<asp:ImageField DataImageUrlField="LogoURL" HeaderText="图标" />
</Columns>
</asp:GridView>

<asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="/App_Data/heart.mdb"
UpdateCommand="update [Brand] set LogoURL=@LogoURL,BrandName=@BrandName where AppCode=@AppCode and BrandName=@BrandName">
<UpdateParameters>
<asp:ControlParameter ControlID="GridView1" Name="LogoURL" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="AppCode" Type="String" />
<asp:ControlParameter ControlID="GridView1" Name="BrandName" Type="String" />
</UpdateParameters>
</asp:AccessDataSource>
</div>
</form>
</body>
</html>
...全文

相关推荐

评论 4
收藏 已收藏
分享
返回顶部
ynduanlian
.NET社区 62,272 成员 668,968 内容