用C#构建html的更好方法是什么
本文关键字:更好 方法 是什么 html 构建 | 更新日期: 2023-09-27 18:28:04
我对C#和web表单非常陌生。我正在构建一个从SQL数据库中提取数据以呈现给查看器的网站。对于构建HTML、使用C#从sql数据库中提取和显示数据,您有什么建议?
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.Data.Sql;
using System.Data.SqlClient;
public partial class csusaCentralCallFlows : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
{
GetCallFlowData();
}
else if (!IsPostBack)
{
GenerateCallFlowDropDown();
}
}
private void GenerateCallFlowDropDown()
{
SqlConnection CFPull = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["csusaCDB"].ConnectionString);
string sql = @"
SELECT DISTINCT
CustomerName
FROM
CustomerData
";
SqlCommand cmd = new SqlCommand(sql, CFPull);
DataTable dt = new DataTable();
CFPull.Open();
dt.Load(cmd.ExecuteReader());
CFPull.Close();
string html = "";
html = "<select name='"CustomerNameDD'" onChange='"SubmitForm()'">";
html += "<option>Select a Call Flow</option>";
int rowCount = dt.Rows.Count;
for (int i = 0; i < rowCount; i++)
{
html += "<option>";
html += dt.Rows[i].ItemArray.GetValue(0);
html += "</option>";
}
html += "</select>";
DropDownDiv.InnerHtml += html;
}
private void GetCallFlowData()
{
ResultsDiv.InnerHtml = "";
string coName = Request.Form["CustomerNameDD"];
SqlConnection PullDataConn = new SqlConnection(System.Web.Configuration.WebConfigurationManager.ConnectionStrings["csusaCDB"].ConnectionString);
string sql = @"
SELECT CustomerData.CustomerName, CallFlowData.contactPhone, CallFlowData.contactEmail, CallFlowData.contactOther
FROM CallFlowData
INNER JOIN CustomerData ON CustomerData.CustomerID = CallFlowData.CallFlowID
WHERE CustomerData.CustomerName LIKE @CustomerName
";
SqlCommand cmd = new SqlCommand(sql, PullDataConn);
cmd.Parameters.AddWithValue("CustomerName", coName);
DataTable dt = new DataTable();
PullDataConn.Open();
dt.Load(cmd.ExecuteReader());
PullDataConn.Close();
int rowCount = dt.Rows.Count;
string html = "";
for (int i = 0; i < rowCount; i++)
{
html += "<div class='divContainer'>" +
"<table class='resultsTable1'>" +
"<tr><td colspan='2' class='tdCoName'>";
html += dt.Rows[i].ItemArray.GetValue(0);
html += "</td></tr>" +
"<tr><td class='contactCat'>HotLine</td>" +
"<td class='tdHeadingPadding'>";
html += dt.Rows[i].ItemArray.GetValue(1);
html += "</td></tr>" +
"<tr><td class='contactCat'>e-Mail</td>" +
"<td class='tdHeadingPadding'>";
html += dt.Rows[i].ItemArray.GetValue(2);
html += "</td></tr>";
if (string.IsNullOrEmpty(dt.Rows[i].ItemArray.GetValue(3).ToString()))
{
html += "<tr><td colspan='2' style='height:10px;'></td></tr></table></div>";
}
else
{
html += "<tr><td class='contactCat'>Other</td><td class='tdHeadingPadding'>";
html += dt.Rows[i].ItemArray.GetValue(3);
html += "</td></tr><tr><td colspan='2' style='height:10px;'></td></tr></table></div>";
}
}
ResultsDiv.InnerHtml += html;
}
}
您可以使用ASP.Net web应用程序或ASP.Net web表单应用程序来执行此操作。如果它应该处理非常复杂的逻辑&期望值很高,需要运行更长的时间。NetMVC应用程序将是一个不错的选择(入门需要做很多工作,但非常灵活)。这里有一个好教程的链接。。
http://www.youtube.com/playlist?list=PL6n9fhu94yhXQS_p1i-HLIftB9Y7Vnxlo