Получить запись каждой строки и столбца - PullRequest
0 голосов
/ 01 марта 2012

У меня есть сетка, которая отображает записи в следующей форме:

Date                    Total Enrolled  Enrolled as Email   Enrolled as Text   
2/29/2012 12:00:00 AM   1               0                   1   
2/28/2012 12:00:00 AM   2               1                   1   
2/27/2012 12:00:00 AM   23              11                  12   
2/25/2012 12:00:00 AM   1               1                   0   
2/24/2012 12:00:00 AM   16              9                   7   

, которая отображает записи с использованием этого запроса:

select created,
count(field1) Enrolled,
count(case field1 when 'E-mail' then 1 end) Enrolled_as_Email,
count(case field1 when 'Cell Phone' then 1 end) Enrolled_as_Cell,
(Select COUNT(*)
from tbl_TransactionDishout d
where d.created = c.created and
       d.DishoutResponseCode = '0000') Deals_Redeemed
from tblCustomer c
group by created
order by created

Код ASP.NET выглядит следующим образом:

  <asp:GridView ID="GrdReport" runat="server" AllowPaging="True" AllowSorting="True"
                AutoGenerateColumns="False" CellPadding="1" DataKeyNames="Created" DataSourceID="SqlDataSource1"
                ForeColor="#333333" GridLines="None" PageSize="100" 
                onrowdatabound="GrdReport_RowDataBound">
                <Columns>
                    <asp:BoundField DataField="Created" HeaderText="Date" SortExpression="Created" />
                    <asp:BoundField DataField="Total_Enrolled" HeaderText="Total Enrolled" SortExpression="Total_Enrolled" />
                    <asp:BoundField DataField="Enrolled_as_Email" HeaderText="Enrolled as Email" SortExpression="Enrolled_as_Email" />
                    <asp:BoundField DataField="Enrolled_as_Cell" HeaderText="Enrolled as Text" SortExpression="Enrolled_as_Cell" />
                </Columns>
                <FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <RowStyle BackColor="#EFF3FB" Height="4" />
                <EditRowStyle BackColor="#2461BF" />
                <SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
                <PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Right" />
                <HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
                <AlternatingRowStyle BackColor="White" />
            </asp:GridView>
            <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ appSettings:DBConn %>"
                SelectCommand="select created, count(field1) Total_Enrolled, count(case field1 when 'E-mail' then 1 end) Enrolled_as_Email, count(case field1 when 'Cell Phone' then 1 end) Enrolled_as_Cell from tblCustomer group by created order by created desc">
            </asp:SqlDataSource>    

Теперь я хочу, чтобы номер был гиперссылкой, которая перенаправляет страницу на какую-то другую страницу, где отображаются эти записи.
Так как это должно быть сделано. ??Что я должен передать в строке запроса, чтобы я мог распознать ее на перенаправленной странице ... и как?

1 Ответ

2 голосов
/ 01 марта 2012

ваш линке будет выглядеть так ...

http://address/page.aspx?parameter=value&nextparameter=value

http://localhost/newpage.aspx?email=0&text=1

на вашей странице asp.net вы можете получить доступ к строке запроса, например:

Request.QueryString["email"];

Request.QueryString["text"];

Это всего лишь один простой подход ... Если вы создаете сложные веб-приложения, вам нужно больше, но это может помочь вам начать

если я правильно понял ваш вопрос ...

Вы должны убедиться, что вы закодировали значения, чтобы сделать их безопасными в формате html ...

РЕДАКТИРОВАТЬ: для создания ссылки используйте гиперссылку

<asp:hyperlinkfield datatextfield="UnitPrice"
        datatextformatstring="{0:c}"
        datanavigateurlfields="ProductID"
        datanavigateurlformatstring="~\details.aspx?ProductID={0}"          
        headertext="Price"
        target="_blank" />

чтобы использовать несколько параметров через запятую, разделяйте их следующим образом

    <asp:HyperLinkField DataTextField="CategoryName" 
DataNavigateUrlFields="CategoryID,CategoryName,Description" 
DataNavigateUrlFormatString="~/Learning.aspx?categoryID={0}&categoryName={1}&description={2}"
 />

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.hyperlinkfield.aspx

тогда вам нужна вторая страница, которая отображает детали и запрашивает результат на основе переданных значений ...

...