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
4 svar · 234 visningar · startad av GrodanBoll
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
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
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. :)
Tackar, ska tänka på det. :)