Avatar billede nae Nybegynder
13. januar 2007 - 14:12 Der er 12 kommentarer og
1 løsning

If statement

Det her er et begynderspørgsmål til asp.net. Jeg kan se at asp.net deler koden op i c# og aspx-kode. Jeg ville høre om det er muligt at lave et if statement i aspx koden og ikke c#? Jeg har en dropdown liste som jeg vil bruge til at vælge objectdatabinding. Det er skrevet i aspx, så hvis det kun kan laves i c# skal jeg så til at konvetere objectdatabindings til c#?
Avatar billede kalp Novice
13. januar 2007 - 15:30 #1
tænker du på codebehind filen?

De 2 er jo som "en" så ja
Avatar billede kalp Novice
13. januar 2007 - 15:31 #2
og programmere du ikke C# i dine aspx side?
er det VB.NET ?

lidt mere detaljeret skulle du nok have været=)
Avatar billede nae Nybegynder
13. januar 2007 - 15:31 #3
problemet er når jeg prøver at lave en if-statement i csharp kan koden ikke finde min dropdownlist id?
Avatar billede nae Nybegynder
13. januar 2007 - 15:33 #4
Det er programmeret i C# men der er ikke så meget programmering (bortset fra lidt databindings). Jeg er vant til php og har derfor ikke den store erfaring med brugen af asp.net :)
Avatar billede kalp Novice
13. januar 2007 - 15:37 #5
Lad mig sige det på en anden måde så=)
Du kan godt se indholdet af ASPX siden fra c# koden hvis dette er codebehind filen til ASPX siden (google det).
Det vil sige at ASPX siden i toppen får angivet den fil som værende dens codebehind fil.
Avatar billede nae Nybegynder
13. januar 2007 - 15:41 #6
Det er dens codebehind fil. Jeg har en dropdownliste med to muligheder og for hver mulighed er der en objecsource som der skal søges i (selectes fra). Jeg har koden til de forskellige sourcebinds i aspx delen af koden (er bare blevet dragget ind i designview) men hvordan kan jeg så i csharp delen vælge mellem to databindings som er skrevet i frontend (aspx)? Jeg håber du kan forstår hvad jeg spørger om :) ?
Avatar billede dr_chaos Nybegynder
14. januar 2007 - 10:51 #7
paste lige hele din kode:
Avatar billede nae Nybegynder
14. januar 2007 - 13:12 #8
Her er asp delen:
<form id="searchFrom" runat="server" method="post">
Search:
<asp:DropDownList id="searchDropDown" runat="server">
<asp:ListItem value="Batch" text="Batch" />
<asp:ListItem value="Product" text="Product" />
</asp:DropDownList>
<asp:TextBox id="searchBox" runat="server" />
<asp:Button ID="Submit" Text="Søg" runat="server" />&nbsp;
    <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" DataSourceID="ObjectSearchBatch">
        <Columns>
            <asp:BoundField DataField="Nummer" HeaderText="Nummer" SortExpression="Nummer" />
            <asp:BoundField DataField="Oprettet" HeaderText="Oprettet" SortExpression="Oprettet" />
            <asp:BoundField DataField="Lager" HeaderText="Lager" SortExpression="Lager" />
            <asp:BoundField DataField="Sidstaendret" HeaderText="Sidstaendret" SortExpression="Sidstaendret" />
        </Columns>
    </asp:GridView>
    <asp:ObjectDataSource ID="ObjectSearchBatch" runat="server" SelectMethod="GetBatchEntityByNummer"
        TypeName="DataManager.EntityManager">
        <SelectParameters>
            <asp:ControlParameter ControlID="searchBox" DefaultValue="" Name="id" PropertyName="Text"
                Type="Int32" />
        </SelectParameters>
    </asp:ObjectDataSource>
</form>

Her er backend:
public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        if (IsPostBack)
        {
            string choice = searchDropDown.Text;
            if (choice == "batch")
            {
               
                //ObjectDataSource ODS = new ObjectDataSource();
                //EntityManager DM = new DataManager.EntityManager();
                //ODS.SelectMethod = "GetBatchEntityByNummer(1)";
                //ODS.ID = "ObjectSearchBatch";
                //ODS.TypeName = "DataManager.EntityManager";
             
            }
        }
    }
}
Avatar billede dr_chaos Nybegynder
14. januar 2007 - 13:19 #9
Du kan lave din if sætning sådan her:
  if (choice == "batch")
            {
              GridView1.DataSource =ObjectSearchBatch.Select();
GridView1.DataBind();
           
            }
Avatar billede nae Nybegynder
14. januar 2007 - 14:46 #10
Tak det hjalp, jeg håber i lige kunne hjælpe med et sidste spørgsmål:)
Når jeg prøver at køre nogle gridviews for jeg følgende fejl:

Control 'ctl00_batch_GridView1' of type 'GridView' must be placed inside a form tag with runat=server.

Koden ser således ud:


<%@ Page Language="C#" MasterPageFile="~/MasterPage.master" AutoEventWireup="true"
    CodeFile="batch.aspx.cs" Inherits="Default2" Title="Untitled Page" %>

<asp:Content ID="Content3" ContentPlaceHolderID="content" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="batch" runat="Server">
    This is the batch! <a href="java script:window.print()" class="print">
        <img src="/NetTekB/print.jpg" alt="" />
        <asp:GridView ID="GridView1" runat="server" CellPadding="4" DataSourceID="ObjectBatchNoEdit"
            ForeColor="#333333" GridLines="None">
            <FooterStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <RowStyle BackColor="#E3EAEB" />
            <EditRowStyle BackColor="#7C6F57" />
            <SelectedRowStyle BackColor="#C5BBAF" Font-Bold="True" ForeColor="#333333" />
            <PagerStyle BackColor="#666666" ForeColor="White" HorizontalAlign="Center" />
            <HeaderStyle BackColor="#1C5E55" Font-Bold="True" ForeColor="White" />
            <AlternatingRowStyle BackColor="White" />
        </asp:GridView>
    </a>&nbsp;
    <asp:ObjectDataSource ID="ObjectBatchNoEdit" runat="server" SelectMethod="GetBatchEntityAll"
        TypeName="DataManager.EntityManager"></asp:ObjectDataSource>
    <br />
    <a href="/NetTekB/Content/Batch/editBatch.aspx">Edit Batch</a>
</asp:Content>

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class Default2 : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {

    }
}
Avatar billede dr_chaos Nybegynder
14. januar 2007 - 14:49 #11
Jeg tillader mig lige at smide et svar:)
Det er formodentlig fordi der mangler et form tag på din master page.

Paste lige koden til den.
Avatar billede nae Nybegynder
14. januar 2007 - 15:03 #12
Tusind tak for hjælpen, det var fordi jeg manglede en form tag på min masterpage.
God weekend.
Avatar billede dr_chaos Nybegynder
14. januar 2007 - 15:05 #13
np og tak for points :)
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