webForumDet fria alternativet

Div och If problem

4 svar · 234 visningar · startad av GrodanBoll

GrodanBollMedlem sedan sep. 2001788 inlägg
#1

Hej

Jag sitter och försöker att lära mig ASP.NET
Testar ett exempel får inte till det, fattar inte riktigt vad jag gör för fel heller. Hoppas på er assistans. :)

default.aspx

<HTML>
	<HEAD>
		<title>Default</title>
		<meta content="Microsoft Visual Studio 7.0" name="GENERATOR">
		<meta content="C#" name="CODE_LANGUAGE">
		<meta content="JavaScript" name="vs_defaultClientScript">
		<meta content="http://schemas.microsoft.com/intellisense/ie5" name="vs_targetSchema">
	</HEAD>
	<body>
		<form id="Default" method="post" runat="server">
			<div id="Ett" runat="server" Visible="False">
			<table>
				<asp:repeater id="rptEtt" runat="server">
					<ItemTemplate>
						<tr>
							<td>
								<%# DataBinder.Eval(Container.DataItem, "membFirstname") %>
							</td>
							<td>
								<%# DataBinder.Eval(Container.DataItem, "membLastname") %>
							</td>
							<td>
								<asp:HyperLink 
									id="lnkEtt" 
									NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "membId", "visa.aspx?m={0}") %>' 
									Runat="server" 
									Target="_self" 
									Text="Link" 
								/>
							</td>
						</tr>
					</ItemTemplate>
				</asp:repeater>
			</table>
			</div>
		</form>
	</body>
</HTML>

default.aspx.cs

using System;
using System.Collections;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Web;
using System.Web.SessionState;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;

namespace aspTest.trean
{
	public class _Default : System.Web.UI.Page
	{
		protected System.Web.UI.WebControls.Repeater rptEtt;
	
		private void Page_Load(object sender, System.EventArgs e)
		{
			If (Request.QueryString["m"] == null)
			{
				PlockaFramFranDb();
				Ett.Visible = true;
			}
		}

		private void PlockaFramFranDb()
		{
			SqlConnection myConn;
			SqlCommand myComm;
			SqlDataReader myDR;

			myConn = new SqlConnection("Integrated Security=SSPI;Persist Security Info=True;Initial Catalog=tmp;Data Source=ANTEVANTE\\MINMSDE;");
			myComm = new SqlCommand("SELECT membId, membFirstname, membLastname FROM tblMembers", myConn);
			myConn.Open();

			myDR = myComm.ExecuteReader();
			rptEtt.DataSource = myDR;
			rptEtt.DataBind();
		}
	}
}

Det som strular är:
- Visual Studio vill ha ett ';' efter 'If (Request.QueryString["m"] == null)'-raden.
- VS hittar inte attributet 'Visible' i min 'div'-tagg på aspx-sidan.
- Och jag kan inte styra om 'div'-taggen ska synas eller inte genom koden 'Ett.Visible = true;'

Fattar inte varför det inte fungerar, tycker jag har följt exempel som visar denna tekniken.

/Grodan som snart spränger en åder i huvudet eller slår sönder tangentbordet

VideMedlem sedan dec. 19998 577 inlägg
#2

If är skall ha ett litet i: if
Ett finns inte med som referens, precis som "protected System.Web.UI.WebControls.Repeater rptEtt;" finns med så borde även din div-tagg vara med.

Mvh, Vide

GrodanBollMedlem sedan sep. 2001788 inlägg
#3

Ho ho, hade du varit här hade du fått en bamsekram. ;)
Tack! :bire

/Grodan

NETworkMedlem sedan juni 20011 732 inlägg
#4

Inte för att det spelar någon roll i just ditt fall (i utbildningssyfte kanske :) ) men istället för div kan du använda <asp:panel> så får du betydligt fler möjligheter att styra den. Även om alla gamla html-taggar kan vara runat=server så tycker jag det underlättar att vara konsekvent och bara använda asp.net-kontroller där du vill ha någon form av dynamisk kontroll... rätt var det är behöver man den där extra funktionaliteten och då finns de redan där. :)

GrodanBollMedlem sedan sep. 2001788 inlägg
#5

Tackar, ska tänka på det. :)

122 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)