簡體   English   中英

基本的C#,asp.net循環和CSS樣式

[英]basic c#, asp.net looping and css style

我要達到什么目的:

試圖大致得到以下結果

[天數] [FixtureTeamHome] v [FixtureTeamAway]

[月份名稱] [簡短說明],[地點]

在Page_load上,我檢索了包含所有固定裝置的“團隊詳細信息”頁面。首先,這是正確的方法,其次,我得到了所需的結果,但是如何將樣式添加為當前s + =“

  • 無法識別。

    感謝您的建議,幫助和指導

     public partial class WebForm6 : System.Web.UI.Page { public string TeamTitle = null; public string TeamTitle1 = null; protected void Page_Load(object sender, EventArgs e) { DataView TeamRecordSet = (DataView)SqlDataSource1.Select(DataSourceSelectArguments.Empty); foreach (DataRowView DRV in TeamRecordSet) { lblTeamName.Text = DRV["TeamName"].ToString(); lblTeamNameShortInfo.Text = DRV["TeamShortInfo"].ToString(); Image1.ImageUrl = "~/style/images/teams/" + DRV["TeamPhoto"].ToString(); } DataView TeamFixtureRecordSet = (DataView)SqlDataSource2.Select(DataSourceSelectArguments.Empty); string s = "<ul class=\\"latest-posts\\" id=\\"TeamFIxtures\\">"; foreach (DataRowView DRV1 in TeamFixtureRecordSet) { int FixtureMonth = (int)DRV1["FixtureMonth"]; string strMonthName = CultureInfo.CurrentCulture.DateTimeFormat.GetAbbreviatedMonthName(FixtureMonth); s += "<li><span class=\\"date\\"><em class=\\"day\\">"; s += "</em><em class=\\"month\\">" + strMonthName + "</em></span>"; // Fixture ================================================================ // Home Team int FixtureTeamHomeID = (int)DRV1["FixtureTeamHomeID"]; TeamNameHome(FixtureTeamHomeID); s += "<a href=\\"#\\">" + TeamTitle + "</a>"; TeamTitle = null; s += " v "; // Away Team int FixtureTeamAwayID = (int)DRV1["FixtureTeamAwayID"]; TeamNameAway(FixtureTeamAwayID); s += "<a href=\\"#\\">" + TeamTitle1 + "</a><br />"; TeamTitle1 = null; // Venue s += "<a href=\\"#\\">" + DRV1["FixtureShortInfo"].ToString() + "</a><br /><br />"; s += "<a href=\\"#\\">" + DRV1["VenueID"].ToString() + "</a></li>"; } s += "</ul>"; lblTeamFIxtures.Text = s; } public void TeamNameHome(int arg1) { using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["WCDB_local"].ConnectionString)) { string sqlSelect = @"select TeamName from Teams where TeamID = @TeamID"; using (SqlCommand cmd = new SqlCommand(sqlSelect, conn)) { cmd.Parameters.AddWithValue("@TeamID", arg1); conn.Open(); TeamTitle = cmd.ExecuteScalar().ToString(); } } } public void TeamNameAway(int arg2) { Int32 myTeamID = arg2; using (SqlConnection conn = new SqlConnection(WebConfigurationManager.ConnectionStrings["WCDB_local"].ConnectionString)) { string sqlSelect = @"select TeamName from Teams where TeamID = @TeamID"; using (SqlCommand cmd = new SqlCommand(sqlSelect, conn)) { cmd.Parameters.AddWithValue("@TeamID", arg2); conn.Open(); TeamTitle1 = cmd.ExecuteScalar().ToString(); } } } 

    我想我可能已經懷疑了它,並逐漸開始理解它背后的邏輯,請問這是否是解決此問題的正確方法? 再次感謝大家,每一個小的建議都會有所幫助。

    ASPX文件:

     <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="repeater.aspx.cs" Inherits="WorldCup.repeater" %> <!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></title> </head> <body> <form id="form1" runat="server"> <div> <asp:Label ID="lblID" runat="server"></asp:Label><br /><br /> <asp:Repeater ID="FixtureRepeater" runat="server" DataSourceID="SqlDataSource1"> <ItemTemplate> <asp:HyperLink ID="lblTeamNameHome" runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "FixtureTeamHomeID", "?tid={0}") %>'><%# Eval("TEAMHOME") %></asp:HyperLink> v <asp:HyperLink ID="lblTeamNameAway" runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "FixtureTeamAwayID", "?tid={0}") %>'><%# Eval("TEAMAWAY") %></asp:HyperLink><br /> <asp:Label ID="lblShortdescription" runat="server"><%# Eval("FixtureShortInfo") %></asp:Label><br /> <asp:HyperLink ID="lblVenue" runat="server" NavigateUrl='<%# DataBinder.Eval(Container.DataItem, "VenueID", "?tid={0}") %>'><%# Eval("VENUE")%></asp:HyperLink><br /><br /> </ItemTemplate> </asp:Repeater> <asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:WCDB_local %>" SelectCommand="SELECT Fixtures.FixtureID, Fixtures.GroupID, Fixtures.VenueID, Fixtures.FixtureTime, Fixtures.FixtureDate, Fixtures.FixtureTeamHomeID, Fixtures.FixtureTeamAwayID, Fixtures.FixtureShortInfo, Fixtures.FixtureDescription, Fixtures.FixtureImage, Fixtures.FixtureResult, Teams_1.TeamName AS TEAMHOME, Teams_2.TeamName AS TEAMAWAY, Venues_1.VenueName AS VENUE FROM Fixtures INNER JOIN Teams AS Teams_1 ON Fixtures.FixtureTeamHomeID = Teams_1.TeamID INNER JOIN Teams AS Teams_2 ON Fixtures.FixtureTeamAwayID = Teams_2.TeamID INNER JOIN Venues AS Venues_1 ON Fixtures.VenueID = Venues_1.VenueID WHERE (Fixtures.FixtureTeamHomeID = @id) OR (Fixtures.FixtureTeamAwayID = @id)"> <SelectParameters> <asp:ControlParameter Name="id" Type="Int32" ControlID="lblID" /> </SelectParameters> </asp:SqlDataSource> </div> </form> 

    CS文件

     using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Configuration; using System.Data.SqlClient; namespace WorldCup { public partial class repeater : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { string v = Request.QueryString["tid"]; if (v != null) { lblID.Text = v.ToString(); } else { Int32 defaultvalue = 3; lblID.Text = defaultvalue.ToString(); } } } } 

    再次感謝您的幫助和建議,它對@ Samjongenelen確實有幫助,感謝您的鏈接

  • 基本上,您將ASP經典技術與其他一些不太漂亮的代碼一起使用。

    沒有火焰,但這使應用程序難以調試:)因此,這不是您問題的答案,而是查找提示

    IMO的一個好起點是研究數據綁定/“實時綁定”,它基本上是在ASPNET中創建(設計)框架,然后將數據源綁定到它。 易於實施和維護

    請參閱http://www.codeproject.com/Articles/8659/Mastering-ASP-NET-DataBinding http://msdn.microsoft.com/en-us/magazine/ee819084.aspx

    暫無
    暫無

    聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

     
    粵ICP備18138465號  © 2020-2024 STACKOOM.COM