【发布时间】:2012-05-01 13:27:11
【问题描述】:
好的,所以我目前正在使用以下代码来实现我的搜索:
<asp:SqlDataSource ID="SqlDataSource1" runat="server"
ConnectionString="<%$ ConnectionStrings:connectionstringexample %>"
SelectCommand="SELECT [ID], [SPECIALIST], [CUST_LNAME], [CUST_FNAME], [COMPANY_NAME], [EVENT_TYPE] FROM [tblcontacts] WHERE (([CUST_FNAME] = @CUST_FNAME) OR ([CUST_LNAME] = @CUST_LNAME) OR ([COMPANY_NAME] = @COMPANY_NAME) OR ([EVENT_TYPE] = @EVENT_TYPE))">
<SelectParameters>
<asp:ControlParameter ControlID="searchtext" Name="CUST_FNAME"
PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="searchtext" Name="CUST_LNAME"
PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="searchtext" Name="COMPANY_NAME"
PropertyName="Text" Type="String" />
<asp:ControlParameter ControlID="searchtext" Name="EVENT_TYPE"
PropertyName="Text" Type="String" />
</SelectParameters>
</asp:SqlDataSource>
<asp:GridView ID="recordsgrid" runat="server" AllowSorting="True"
AutoGenerateColumns="False" DataSourceID="SqlDataSource1"
Width="916px" BackColor="White" BorderColor="#999999" BorderStyle="None"
BorderWidth="1px" CellPadding="3" GridLines="Vertical"
DataKeyNames="ID" >
<AlternatingRowStyle BackColor="#DCDCDC" />
<Columns>
<asp:CommandField ShowSelectButton="True" />
<asp:BoundField DataField="ID" HeaderText="ID"
SortExpression="ID" InsertVisible="False" ReadOnly="True" />
<asp:BoundField DataField="SPECIALIST" HeaderText="Event Specialist"
SortExpression="SPECIALIST" />
<asp:BoundField DataField="CUST_LNAME" HeaderText="Client's Last Name"
SortExpression="CUST_LNAME" />
<asp:BoundField DataField="CUST_FNAME" HeaderText="Client's First Name"
SortExpression="CUST_FNAME" />
<asp:BoundField DataField="COMPANY_NAME" HeaderText="Company Name"
SortExpression="COMPANY_NAME" />
<asp:BoundField DataField="EVENT_TYPE" HeaderText="Event Type"
SortExpression="EVENT_TYPE" />
</Columns>
<FooterStyle BackColor="#CCCCCC" ForeColor="Black" />
<HeaderStyle BackColor="#4b6c9e" Font-Bold="True" ForeColor="White" />
<PagerStyle BackColor="#999999" ForeColor="Black" HorizontalAlign="Center" />
<RowStyle ForeColor="Black" BackColor="#EEEEEE" />
<SelectedRowStyle BackColor="#008A8C" Font-Bold="True" ForeColor="White" />
<SortedAscendingCellStyle BackColor="#F1F1F1" />
<SortedAscendingHeaderStyle BackColor="#0000A9" />
<SortedDescendingCellStyle BackColor="#CAC9C9" />
<SortedDescendingHeaderStyle BackColor="#000065" />
</asp:GridView>
我想要的是能够单击 ID 列中的 ID 并打开一个新页面,该页面会自动填充与该唯一 ID 相关的表单数据。我正在使用 asp.net 和 C#。任何帮助将不胜感激。
编辑:
<asp:HyperLinkField DataTextField="ID" DataNavigateUrlFormatString="Searchresults.aspx?@ID={0}" Text="ID" DataNavigateUrlFields="ID" HeaderText="ID"
SortExpression="ID" InsertVisible="False" />
【问题讨论】:
-
用超链接字段替换绑定字段。使 navigateURL somepage.aspx?ID=...... 然后解析查询字符串。 - 对不起,没有时间给出正确的答案,但这应该让你开始。我现在不记得是否需要将其设为模板字段。
-
这让我开始了,虽然我正在寻找那个选项并且我在某个地方读到你只能通过两个字段或其他东西?这是真的吗?
-
我不确定我是否理解。您想通过 ID 搜索吗?那不是一个领域吗?
-
我想通过允许用户在上面的 Boundfield 中输入任何数据(例如名字、姓氏等)来搜索数据库,当结果显示时,我希望允许他们单击每个结果的 ID 作为链接,这会将他们带到一个新页面,其中包含表单以及与之关联的所有数据。我不确定这有多大意义,但我会尝试您和大家提到的一些事情,然后回来提供一些见解。
标签: c# asp.net search uniqueidentifier