我想做的事情似乎很简单,但我正在努力寻找可用的示例代码。我的应用程序是在ASP.NET VB中。我试图将选定的记录从表传递到新页面,然后让SQL查询选择记录,以便我可以填充该字段进行编辑。到目前为止,我将记录索引ID传递给第二页。我可以在标签字段中显示仅用于测试。但我遇到的问题是SQL数据源选择命令。如果我将记录号4添加到默认值,下面是有效的代码。但是我需要用request.querystring替换Default值。(“VenueID”)。我的大多数尝试都显示错误,即SQL请求无法从字符串转换为Integer。这是我的代码。
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Admn-VenueEdit.aspx.vb" Inherits="Admn_VenueEdit" %>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<Form runat="server">
<%
Dim QueryID As String
QueryID = Request.QueryString("VenueID")
Dim URLQueryID
URLQueryID = Convert.ToInt64(QueryID)
'esponse.Write(QueryID)
'Dim VenueQueryString As String
'VenueQueryString = "SELECT * FROM [tblVenue] Where [ID] = " + Request.QueryString("VenueID")
%>
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataSourceID="SqlDataSource1" DataKeyNames="Id" Width="180">
<Columns>
<asp:TemplateField HeaderText="Destination" ItemStyle-Width="80">
<ItemTemplate>
<asp:TextBox ID="txtName" runat="server" Text='<%# Eval("Destintion") %>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Company" ItemStyle-Width="100">
<ItemTemplate>
<asp:TextBox ID="txtCountry" runat="server" Text='<%# Eval("Company") %>' />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:ConnectionString %>" SelectCommand="SELECT * FROM [tblVenue] Where [ID] = @VenueID">
<SelectParameters>
<asp:SessionParameter
Name="VenueID"
SessionField="VenueID"
DefaultValue="4"
/>
</SelectParameters>
</asp:SqlDataSource>
</Form>
</body>
答案 0 :(得分:0)
问题在于:
<asp:SessionParameter
Name="VenueID"
SessionField="VenueID"
DefaultValue="4"
/>
它总是与数字4一起工作。我的查询字符串是什么并不重要。 但是,如果您需要在数据源中使用查询字符串,那么在sqldataSource可视化配置中有一种简单的方法可以执行此操作。当您进行设置时,在设置连接字符串后,点击下一步按钮,在下一页中您有一个按钮其中点击进入此页面:
完成所有操作后,单击“添加”按钮并靠近后退。 您的数据源必须是这样的:
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:FinalDentistConnectionString1 %>" SelectCommand="SELECT * FROM [ArticleComments] WHERE ([Id] = @Id)">
<SelectParameters>
<asp:QueryStringParameter Name="Id" QueryStringField="Id" Type="Int32" />
</SelectParameters>
</asp:SqlDataSource>