Avatar billede wildthing Nybegynder
27. marts 2006 - 13:47 Der er 10 kommentarer og
1 løsning

Hvordan overføres parametre i .NET?

Som total ny på DotNET sidder jeg med en masse information og smarte features som Gridviews osv. Men hvordan hulen får man den gamle asp classic querystring parameter med sig? Jeg har et gridview i min default.aspx hvor jeg gerne vil kunne klikke på linien og så blive ført over i et details.aspx. Jeg kan sagtens i properties skrive "default.aspx?ID = 2", men hvordan får jeg den ID med dynamisk fra den pågældende linie. I asp classic hedder det jo "default.asp?ID=<%=ID%>"

Det er sikkert hammer dumt og et simpelt spørgsmål, men jeg har ikke lige fundet et eksempel på det, så måske bruger man det ikke i .NET;-)
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 13:52 #1
du kan lave en item template med et link som kan fører dig videre.
Eller måske en anden løsning.
Men vis mig lige koden på din aspx side.
Avatar billede wildthing Nybegynder
27. marts 2006 - 14:19 #2
<%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
koden kommer her. Jeg  har lavet en fast parameter i dette eksempel "?ID=2" hvor to tallet skal følge den angivne ID.

wildthing


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

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>ProductDB - List</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp; &nbsp; &nbsp;&nbsp;
        <asp:GridView ID="GridView1" runat="server" AllowPaging="True" AllowSorting="True"
            AutoGenerateColumns="False" CellPadding="4" DataSourceID="AccessDataSource1"
            EmptyDataText="There are no data records to display." ForeColor="#333333" GridLines="None"
            Style="z-index: 100; left: 0px; position: absolute; top: 0px">
            <FooterStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <Columns>
            <asp:BoundField DataField="ID" HeaderText="ID" InsertVisible="False" SortExpression="ID" />
                <asp:BoundField DataField="t_dsca" HeaderText="Product group" SortExpression="t_dsca" />
                <asp:BoundField DataField="ProductType" HeaderText="Product Type" SortExpression="ProductType" />
                <asp:HyperLinkField DataTextField="ProductDescription" NavigateUrl="~/Details.aspx?ID=2"
                    Target="_blank" Text="Productdescription" HeaderText="Product description" />
                <asp:BoundField DataField="Version" HeaderText="Ver." SortExpression="Version" />
                <asp:BoundField DataField="Responsable" HeaderText="Responsable" SortExpression="Responsable" />
                <asp:BoundField DataField="LifeTimeStatus" HeaderText="Life Time Status" SortExpression="LifeTimeStatus" />
                <asp:BoundField DataField="Signal" HeaderText="Signal" SortExpression="Signal" />
                <asp:CheckBoxField DataField="PriceList" HeaderText="Price List" SortExpression="PriceList" />
                <asp:BoundField DataField="CaseIPU" HeaderText="CaseIPU" SortExpression="Case IPU" />
                <asp:BoundField DataField="Resource" HeaderText="In Charge" SortExpression="Resource" />
                <asp:BoundField DataField="ExpRelDate" HeaderText="Exp.Rel." SortExpression="ExpRelDate" />
             
            </Columns>
            <RowStyle BackColor="#F7F6F3" ForeColor="#333333" />
            <EditRowStyle BackColor="#999999" />
            <SelectedRowStyle BackColor="#E2DED6" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#284775" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#5D7B9D" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" ForeColor="#284775" />
        </asp:GridView>
        <asp:AccessDataSource ID="AccessDataSource1" runat="server" DataFile="\\neptun\dbroot\ProductDB\ProductDB.mdb"
            DeleteCommand="DELETE FROM `Main` WHERE `ID` = ?" InsertCommand="INSERT INTO `Main` (`ID`, `ProductGroup`, `ProductType`, `ProductDescription`, `Responsable`, `LifeTimeStatus`, `LastEdit`, `PriceList`, `Signal`, `Version`, `Case`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)"
            SelectCommand="SELECT dbo_ttcmcs0442001.t_dsca, Main.ProductType, Main.ProductDescription, Main.Version, Main.Responsable, Main.LifeTimeStatus, Main.Signal, Main.PriceList, Main.CaseIPU, Tasks.Resource, Tasks.ExpRelDate, Main.ID FROM ((dbo_ttcmcs0442001 INNER JOIN Main ON dbo_ttcmcs0442001.t_csgp = Main.ProductGroup) LEFT OUTER JOIN Tasks ON Main.CaseIPU = Tasks.IpuNumber) WHERE (Tasks.RevisionContCur = yes) AND (Main.CaseIPU > 0) OR (Main.CaseIPU IS NULL)"
            UpdateCommand="UPDATE `Main` SET `ProductGroup` = ?, `ProductType` = ?, `ProductDescription` = ?, `Responsable` = ?, `LifeTimeStatus` = ?, `LastEdit` = ?, `PriceList` = ?, `Signal` = ?, `Version` = ?, `Case` = ? WHERE `ID` = ?">
            <DeleteParameters>
                <asp:Parameter Name="ID" Type="Int32" />
            </DeleteParameters>
            <UpdateParameters>
                <asp:Parameter Name="ProductGroup" Type="String" />
                <asp:Parameter Name="ProductType" Type="String" />
                <asp:Parameter Name="ProductDescription" Type="String" />
                <asp:Parameter Name="Responsable" Type="String" />
                <asp:Parameter Name="LifeTimeStatus" Type="String" />
                <asp:Parameter Name="LastEdit" Type="DateTime" />
                <asp:Parameter Name="PriceList" Type="Boolean" />
                <asp:Parameter Name="Signal" Type="String" />
                <asp:Parameter Name="Version" Type="String" />
                <asp:Parameter Name="Case" Type="String" />
                <asp:Parameter Name="ID" Type="Int32" />
            </UpdateParameters>
            <InsertParameters>
                <asp:Parameter Name="ID" Type="Int32" />
                <asp:Parameter Name="ProductGroup" Type="String" />
                <asp:Parameter Name="ProductType" Type="String" />
                <asp:Parameter Name="ProductDescription" Type="String" />
                <asp:Parameter Name="Responsable" Type="String" />
                <asp:Parameter Name="LifeTimeStatus" Type="String" />
                <asp:Parameter Name="LastEdit" Type="DateTime" />
                <asp:Parameter Name="PriceList" Type="Boolean" />
                <asp:Parameter Name="Signal" Type="String" />
                <asp:Parameter Name="Version" Type="String" />
                <asp:Parameter Name="Case" Type="String" />
            </InsertParameters>
        </asp:AccessDataSource>
    </div>
    </form>
</body>
</html>
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 14:33 #3
hvad skal du bruge id'et til ?
Avatar billede wildthing Nybegynder
27. marts 2006 - 14:41 #4
Undskyld  mig hvis jeg tænker "ASP classic". Måske er jeg skadet:)
Jeg skal have en liste på forsiden af et site (ovennævnte kode). Ved at klikke på et eller andet på en given linie, skal jeg blive linket op til en side med flere detaljer. Jeg PLEJER at sende ID med over til den nye side ved at sætte ID parameteren i URL'en, og så på detalje siden at lave et SQL kald med request.querystring("ID") i "where" delen. ER det helt tosset i ASP.NET???
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 14:44 #5
Er der plads på din side til at du kan have det på samme side ?
Det ser ud som om du laver et kald til siden selv.
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 14:45 #6
doh glem de jeg lige sagde
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 14:50 #7
Erstat <asp:HyperLinkField DataTextField="ProductDescription" NavigateUrl="~/Details.aspx?ID=2"
                    Target="_blank" Text="Productdescription" HeaderText="Product description" />

med 

<asp:TemplateField " HeaderText="Productdescription">
                            <ItemTemplate>
                              <asp:HyperLink ID="Label2" runat="server" Text="<%#Eval("ProductDescription")%>" NavigateUrl="<%# "Details.aspx?ID="+Eval("ID").ToString() %>"
                    Target="_blank" ></asp:HyperLink >
                            </ItemTemplate>
                        </asp:TemplateField>
Avatar billede wildthing Nybegynder
27. marts 2006 - 15:27 #8
HVis jeg fjerner " tegnet som jeg går ud fra er en fejl i første linie, da er jeg istand til at køre projektet, men noget er galt da næste linie er præcist hvad der står i kolonnen:

"<%#Eval("ProductDescription")%" NavigateUrl="Details.aspx?ID=1" Target="_blank" >
Avatar billede dr_chaos Nybegynder
27. marts 2006 - 17:08 #9
prøv lige med:
<asp:TemplateField HeaderText="Productdescription">
                            <ItemTemplate>
                              <asp:HyperLink ID="Label2" runat="server" Text='<%#Eval("ProductDescription")%>' NavigateUrl='<%# "Details.aspx?ID="+Eval("ID").ToString() %>'
                    Target="_blank" ></asp:HyperLink >
                            </ItemTemplate>
                        </asp:TemplateField>
Avatar billede wildthing Nybegynder
28. marts 2006 - 10:09 #10
Thanx dr chaos, send et svar:)
Avatar billede dr_chaos Nybegynder
28. marts 2006 - 10:13 #11
svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester