C# 如何用div类包装数据库值?
我使用for循环遍历数据集中的行,并将其打印到屏幕上,但我想知道如何用css包装这些值?我用来动态创建表的代码是C# 如何用div类包装数据库值?,c#,html,asp.net,C#,Html,Asp.net,我使用for循环遍历数据集中的行,并将其打印到屏幕上,但我想知道如何用css包装这些值?我用来动态创建表的代码是 test.GetSubjects(); int subjectid = 0; // Current row count. int rowCtr;// = 0; // Total number of cells per row (columns). int cellCtr; // Curr
test.GetSubjects();
int subjectid = 0;
// Current row count.
int rowCtr;// = 0;
// Total number of cells per row (columns).
int cellCtr;
// Current cell counter.
int cellCnt;
//count number of rows in dataset
int rN = test.dsSubjects.Tables[0].Rows.Count;
cellCnt = 3;
for (rowCtr = 1; rowCtr <= rN; rowCtr++)
{
// Create a new row and add it to the table.
TableRow tRow = new TableRow();
Table1.Rows.Add(tRow);
for (cellCtr = 1; cellCtr <= 3; cellCtr++)
{
// Create a new cell and add it to the row.
TableCell tCell = new TableCell();
/* If the rowcounter is equal to the record numbers
* then it has to break because if not it will throw an error
* saying that there is no row at ending position */
if (rowCtr == rN)
break;
string myStr = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
tCell.Controls.Add(new LiteralControl(myStr));
tRow.Cells.Add(tCell);
rowCtr++;
/* If the cellcount is 3 then it needs to break, if not then
* you'll miss every 4rth record, don't know why. But this works */
if (cellCtr == 3)
{
rowCtr = rowCtr - 1;
break;
}
}
}
原因是我正在将值转换为链接,并希望为其添加样式。我想我可以将样式添加到正在生成的单元格中,但由于我是在代码隐藏中这样做的,所以我不知道该怎么做。将HTML格式添加到myStr对象。
字符串myStr=”“+test.dsSubjects.Tables[0]。行[rowCtr-1][“SubjectName”]。ToString()+”;例如。将HTML格式添加到myStr对象。
字符串myStr=”“+test.dsSubjects.Tables[0]。行[rowCtr-1][“SubjectName”]。ToString()+”;例如。将HTML格式添加到myStr对象。
字符串myStr=”“+test.dsSubjects.Tables[0]。行[rowCtr-1][“SubjectName”]。ToString()+”;例如。将HTML格式添加到myStr对象。
字符串myStr=”“+test.dsSubjects.Tables[0]。行[rowCtr-1][“SubjectName”]。ToString()+”;例如。而不只是将文本输出为
string myStr = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
tCell.Controls.Add(new LiteralControl(myStr));
您可以实例化一个span对象,将该类添加到span对象的class属性中,然后将span对象添加到cell controls集合中,就像您已经做的那样
var span = new HtmlGenericControl("span");
span.InnerHtml = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
span.Attributes["class"] = "myCssClass";
tCell.Controls.Add(span);
而不是仅仅输出文本作为
string myStr = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
tCell.Controls.Add(new LiteralControl(myStr));
您可以实例化一个span对象,将该类添加到span对象的class属性中,然后将span对象添加到cell controls集合中,就像您已经做的那样
var span = new HtmlGenericControl("span");
span.InnerHtml = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
span.Attributes["class"] = "myCssClass";
tCell.Controls.Add(span);
而不是仅仅输出文本作为
string myStr = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
tCell.Controls.Add(new LiteralControl(myStr));
您可以实例化一个span对象,将该类添加到span对象的class属性中,然后将span对象添加到cell controls集合中,就像您已经做的那样
var span = new HtmlGenericControl("span");
span.InnerHtml = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
span.Attributes["class"] = "myCssClass";
tCell.Controls.Add(span);
而不是仅仅输出文本作为
string myStr = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
tCell.Controls.Add(new LiteralControl(myStr));
您可以实例化一个span对象,将该类添加到span对象的class属性中,然后将span对象添加到cell controls集合中,就像您已经做的那样
var span = new HtmlGenericControl("span");
span.InnerHtml = test.dsSubjects.Tables[0].Rows[rowCtr -1]["SubjectName"].ToString();
span.Attributes["class"] = "myCssClass";
tCell.Controls.Add(span);
鉴于你使用的是ASP.NET,我强烈认为如果你能使用剃须刀,你可以使用剃须刀。目前,你正在以一种艰难的方式做这件事 下面是假设您确实需要将每个值包装在一个DIV中,它在Razor中的外观示例:
<table>
@foreach(DataRow row in test.dsSubjects.Rows)
{
<tr>
<td><div class="myCssClass">@row["Field1"]</div></td>
<td><div class="myCssClass">@row["Field2"]</div></td>
<td><div class="myCssClass">@row["Field3"]</div></td>
</tr>
}
</table>
@foreach(test.dsSubjects.Rows中的DataRow行)
{
@行[“字段1”]
@行[“字段2”]
@行[“字段3”]
}
<>虽然你使用ASP.NET,但我强烈认为如果你能使用剃须刀,你会使用剃须刀。目前,你正在以一种艰难的方式做这件事 下面是假设您确实需要将每个值包装在一个DIV中,它在Razor中的外观示例:
<table>
@foreach(DataRow row in test.dsSubjects.Rows)
{
<tr>
<td><div class="myCssClass">@row["Field1"]</div></td>
<td><div class="myCssClass">@row["Field2"]</div></td>
<td><div class="myCssClass">@row["Field3"]</div></td>
</tr>
}
</table>
@foreach(test.dsSubjects.Rows中的DataRow行)
{
@行[“字段1”]
@行[“字段2”]
@行[“字段3”]
}
<>虽然你使用ASP.NET,但我强烈认为如果你能使用剃须刀,你会使用剃须刀。目前,你正在以一种艰难的方式做这件事 下面是假设您确实需要将每个值包装在一个DIV中,它在Razor中的外观示例:
<table>
@foreach(DataRow row in test.dsSubjects.Rows)
{
<tr>
<td><div class="myCssClass">@row["Field1"]</div></td>
<td><div class="myCssClass">@row["Field2"]</div></td>
<td><div class="myCssClass">@row["Field3"]</div></td>
</tr>
}
</table>
@foreach(test.dsSubjects.Rows中的DataRow行)
{
@行[“字段1”]
@行[“字段2”]
@行[“字段3”]
}
<>虽然你使用ASP.NET,但我强烈认为如果你能使用剃须刀,你会使用剃须刀。目前,你正在以一种艰难的方式做这件事 下面是假设您确实需要将每个值包装在一个DIV中,它在Razor中的外观示例:
<table>
@foreach(DataRow row in test.dsSubjects.Rows)
{
<tr>
<td><div class="myCssClass">@row["Field1"]</div></td>
<td><div class="myCssClass">@row["Field2"]</div></td>
<td><div class="myCssClass">@row["Field3"]</div></td>
</tr>
}
</table>
@foreach(test.dsSubjects.Rows中的DataRow行)
{
@行[“字段1”]
@行[“字段2”]
@行[“字段3”]
}
它确实简化了很多事情。如果它们都应该有相同的css,为什么不使用一个类呢?css是一个类,我只是忘了添加它的#MyDbValues。你试过tCell.CssClass=myClass吗?@jac实际上没有,我现在就试试。ps:如果你从0开始for循环,如果它们都应该有相同的css,那么使用
,为什么不使用一个类呢?css是一个类,我只是忘了添加它的35; MyDbValues。你试过tCell.CssClass=myClass吗?@jac实际上没有,我现在就试试。ps:如果你从0开始for循环,如果它们都应该有相同的css,那么使用,为什么不使用一个类呢?css是一个类,我只是忘了添加它的35; MyDbValues。你试过tCell.CssClass=myClass吗?@jac实际上没有,我现在就试试。ps:如果你从0开始for循环,如果它们都应该有相同的css,那么使用,为什么不使用一个类呢?css是一个类,我只是忘了添加它的35; MyDbValues。你试过tCell.CssClass=myClass吗?@jac实际上没有,我现在就试试。ps:如果你从0开始for循环并使用,我真的很想开始使用razor,但我对MVC感到困惑。按照上的一些教程,你很快就会进入天堂。我希望在一周内你也能帮助其他人做同样的事情。我有几本关于MVC的书,但从来没有找到任何关于从web表单过渡到MCV的内容。我试着把MVC看作一个类、标记和代码,但我认为我看错了way@user2970223这就像是在寻找从爬行到飞行的过渡过程中的东西,它们在许多功能方面如此不同,以至于没有必要进行比较。以下是我的版本:您的控制器覆盖一组相关操作(每个操作+视图就像一个WebForm)。视图(大部分)只是每个操作的HTML/CSS/JavaScript。模型是转换成视图最容易使用的格式的数据(有时还会传回)。我真的很想开始使用razor,但我对MVC感到困惑。按照上的一些教程进行操作,你很快就会进入天堂。我希望在一周内你会帮助其他人做同样的事情。我得到了一个政变