P Prästen Medlem sedan dec. 2000 537 inlägg Frågan 7 sep. 2003 09:31 #1
<%@ Page Language="C#" %>
<script runat="server">
// Insert page code here
//
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
1:<asp:TextBox id="TextBox1" runat="server"></asp:TextBox>
</p>
<p>
2:<asp:TextBox id="TextBox2" runat="server"></asp:TextBox>
</p>
<p>
3:<asp:TextBox id="TextBox3" runat="server"></asp:TextBox>
</p>
<p>
4:<asp:TextBox id="TextBox4" runat="server"></asp:TextBox>
</p>
<p>
5:<asp:TextBox id="TextBox5" runat="server"></asp:TextBox>
</p>
<p>
6:<asp:TextBox id="TextBox6" runat="server"></asp:TextBox>
</p>
<p>
7:<asp:TextBox id="TextBox7" runat="server"></asp:TextBox>
</p>
<p>
8:<asp:TextBox id="TextBox8" runat="server"></asp:TextBox>
</p>
<p>
9:<asp:TextBox id="TextBox9" runat="server"></asp:TextBox>
</p>
<p>
10:<asp:TextBox id="TextBox10" runat="server"></asp:TextBox>
</p>
<p>
<asp:Button id="Button1" runat="server" Text="SparaButton"></asp:Button>
<!-- Insert content here -->
</p>
</form>
</body>
</html>
hej. ska lägga in dessa textboxar i en databas. men vill inte göra allt manuellt. tänkte göra en for loop som lägger allt på sin plats.
nån som vet nåt bra sätt?. allt ska bara läggas in neråt liksom, 1:an har en rad, 2:an har nästa rad. 3:an har nästa rad etc etc.
Tack Tack.
NETwork Medlem sedan juni 2001 1 732 inlägg Nu får du nog förklara varför i hela fridens namn du ska lägga in textboxar i en databas??? Eller hur menar du? Det finns INGEN anledning att göra det! :)
P Prästen Medlem sedan dec. 2000 537 inlägg hahahah. ok värdet i textboxarna menar jag :) ...
och förresten finns det nåt lättare sätt att lägga info ur en databas i Textboxar?. tex om man har 10 poster i en databas, och så vill man att det ska automatiskt genereras 10 textboxar med vart och ett värde i?. liksom som man gör med en DataBind() och en rulllist?, men så att den automatiskt lägger till nya textboxar per post i databasen.
D Dino Medlem sedan sep. 2001 1 914 inlägg .aspx
<asp:Repeater id="repTest" runat="server">
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:label id="lbTest" runat="server"/>
<asp:TextBox id="tbTest" runat="server"/>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</table>
</FooterTemplate>
</asp:Repeater>
.aspx.cs
// I detta exempel är repeaterns datasource en sqldatareader
private void repTest_ItemDataBound(Object Sender, RepeaterItemEventArgs e)
{
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
((Label)e.Item.FindControl("lbTest")).Text = Convert.ToString((e.Item.ItemIndex +1)) + ". ";
System.Data.Common.DbDataRecord a = (System.Data.Common.DbDataRecord)e.Item.DataItem;
((TextBox)e.Item.FindControl("tbTest")).Text = a.GetString(0);
}
}
private void InitializeComponent()
{
this.Load += new System.EventHandler(this.Page_Load);
//[b]Lägg till nedan rad i InitializeComponent[/b]
this.repTest.ItemDataBound += new System.Web.UI.WebControls.RepeaterItemEventHandler(this.repTest_ItemDataBound);
}
P Prästen Medlem sedan dec. 2000 537 inlägg Testade, men innehållet ur databasens tabell "fraga" hamnar utanför textboxen????. hur kommer det sig?. skumt, men ändrar jag och sätter <asp:TextBox ID="Textboxen" value=<%# DataBinder.Eval(Container.DataItem, "fraga") %> runat="server" /> </asp:TextBox> då funkar det.
Men sen sista frågan, hur gör jag nu för att lägga in alla dessa textboxar i databasen igen för en uppdatering?. eller en INSERT om det inte redan finns poster i databasen.
<%@ Page Language="C#" %>
<%@ import Namespace="System.Web.UI.WebControls" %>
<%@ import Namespace="System.Data" %>
<%@ import Namespace="System.Data.OleDb" %>
<script runat="server">
DataSet MyQueryMethod(string sqlstring) {
DataSet mittDataSet=new DataSet();
OleDbConnection dbConnection = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=C:\\Documents and Settings\\olle\\Mina dokument\\WebMatrixServer\\question\\newquiz.mdb");
OleDbDataAdapter myDataAdapter = new OleDbDataAdapter(sqlstring, dbConnection);
myDataAdapter.Fill(mittDataSet, "fragor");
return mittDataSet;
}
void Page_Load(Object sender, EventArgs e) {
repTest.DataSource=MyQueryMethod("SELECT * FROM fragor");
repTest.DataBind();
}
</script>
<html>
<head>
</head>
<body>
<form runat="server">
<p>
<asp:Repeater id="repTest" runat="server">
<HeaderTemplate>
<table border="1">
</HeaderTemplate>
<ItemTemplate>
<tr>
<td>
<asp:Label id="lbTest" runat="server" /> <%# DataBinder.Eval(Container.DataItem, "ID") %> </asp:Label>
<asp:TextBox id="tbTest" runat="server" /> <%# DataBinder.Eval(Container.DataItem, "fraga") %> </asp:TextBox>
</td>
</tr>
</ItemTemplate>
<FooterTemplate>
</FooterTemplate>
</asp:Repeater>
</p>
</form>
</body>
</html>
P Prästen Medlem sedan dec. 2000 537 inlägg kom igen nu grabbar, får ju hjälpa stackars prällen nurå, hahaha :)
R renholm Medlem sedan apr. 2001 2 266 inlägg Du får loopa igenom din repeaters olika items och sedan försöka skapa en SQL utifrån det.
P Prästen Medlem sedan dec. 2000 537 inlägg uuuuuuuuuuh, jag e ju nybörjare :) .. ett kungarike för en förklaring :)