[英]Trying to make parameters for asp.net SqlDataSource and update via gridview
我尝试遵循msdn,但显然我弄错了,或者至少缺少一些关键信息。
该页面很简单,我有一个与SqldataSource绑定的网格视图,在update命令中,我为网格视图中的字段创建了参数,还有一个用于告诉我的update命令要更新哪些行的参数。
我的主要问题是为什么它告诉我gridview不包含“ SelectParameters”的定义(请参见代码中的注释)。 那里的代码直接来自msdn。
我有一些问题需要解决,但首先我必须弄清楚如何传递参数。
谢谢
<%@ Page Title="" Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true" CodeFile="RegisterVisitorPortal.aspx.cs" Inherits="resident_RegisterVisitorPortal" %>
<script runat="server">
//void EmployeesGridView_OnSelectedIndexChanged(Object sender, EventArgs e)
//{
// //gridview does not contain a definition for 'SelectParameters'
// GridView1.SelectParameters["VisitorName"].DefaultValue = GridView1.SelectedValue.ToString();
// GridView1.SelectParameters["ResidentName"].DefaultValue = Request.LogonUserIdentity.Name;
// GridView1.DataBind();
//}
</script>
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">
<%--data source object the grid view is tied to--%>
<asp:SqlDataSource
ID="SqlDataSource1"
runat="server"
ConnectionString="<%$ ConnectionStrings:Warren_SEINDATASYSTEMSConnectionString %>"
SelectCommand="SELECT [VisitorCode], [VisitorName] FROM [RegisteredVisitors] WHERE [ResidentName] = @ResidentName"
OnSelecting="SqlDataSource1_Selecting"
UpdateCommand="UPDATE [dbo].[RegisteredVisitors] SET [VisitorCode] = '3222' ,[VisitorName] = @VisitorName WHERE [ResidentName] = @ResidentName"
>
<SelectParameters>
<asp:Parameter Name="VisitorName" Type="String" DefaultValue="Visitor" />
<asp:Parameter Name="ResidentName" Type="String" DefaultValue="ResidentName" />
</SelectParameters>
<UpdateParameters>
<asp:Parameter Name="VisitorName" Type="String" DefaultValue="Visitor" />
<asp:Parameter Name="ResidentName" Type="String" DefaultValue="ResidentName" />
</UpdateParameters>
</asp:SqlDataSource>
<%--grid view showing and allowing edit of data--%>
<asp:GridView ID="GridView1" runat="server" AutoGenerateDeleteButton="True" AutoGenerateEditButton="True" AutoGenerateColumns="False" DataSourceID="SqlDataSource1" CellPadding="4" ForeColor="#333333">
<AlternatingRowStyle BackColor="White" ForeColor="#284775" />
<Columns>
<asp:BoundField DataField="VisitorCode" HeaderText="VisitorCode" SortExpression="VisitorCode" ReadOnly="true"/>
<asp:BoundField DataField="VisitorName" HeaderText="VisitorName" SortExpression="VisitorName" />
</Columns>
<EditRowStyle BackColor="#999999" BorderColor="Black" BorderWidth="1px" />
<FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
<RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
<SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
<SortedAscendingCellStyle BackColor="#E9E7E2" />
<SortedAscendingHeaderStyle BackColor="#506C8C" />
<SortedDescendingCellStyle BackColor="#FFFDF8" />
<SortedDescendingHeaderStyle BackColor="#6F8DAE" />
</asp:GridView>
</asp:Content>
定义SqlDataSource
,在select语句中未使用任何参数,因此不需要SqlDataSource
SelectParameters
部分,但需要UpdateParameters
部分
<selectparameters>
<asp:controlparameter name="VisitorName" controlid="hiddenfiled1" propertyname="value"/>
</selectparameters>
<selectparameters>
<asp:controlparameter name="ResidentName" controlid="hiddenfiled2" propertyname="value"/>
</selectparameters>
在编辑事件时将值存储在“隐藏文件”中。 使用隐藏的字段值作为SqlDataSource中的参数以使其工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.