2013-06-21 27 views
0

我有一个非常大的财务表,它将在页面上重复4次,跨越多个不同的页面。我不喜欢只是跨页面复制表格的想法。我是否认为我可以创建一个重复它的中继器?但同时在后端修改数字?C#中继器修改一些数字

我环顾四周,但不确定修改数字是否可能以及更有效?

<div class="span3 finance-boxes">     
    <table class="table table-bordered table-hover finance-table"> 
     <tr><td>Title</td></tr> 
     <tr><td class="fig">Figure</td></tr> 
     <tr><td>Title</td></tr> 
     <tr><td class="fig">Figure</td></tr> 
     <tr><td><a href="#financeDetail36" role="button" class="btn" data-toggle="modal">Launch Finance Details</a></td></tr> 
    </table> 
</div> 
+0

为什么你不想用这些属性创建一个ascx webusercontrol并使其呈现HTML,用属性的值替换你的数字? –

+0

嗨伊霍尔,你能解释一下吗? – wilsonlego

回答

2

正如我从你的解释中所理解的,你需要在许多地方重复同一段HTML,只是某些单元格的某些值不同。所以我建议你创建一个新的ASCX控件。

Webusercontrol与asp.net页面非常相似,但扩展名为.ascx,可以插入到页面或其他控件中。因此,使用VisualStudio中的Add - > New Item - > Web User Control来创建它。

Web用户控件将具有标记文件.ascx和代码隐藏的.ascx.cs文件。 放在标记文件的HTML:

<div class="span3 finance-boxes">     
<table class="table table-bordered table-hover finance-table"> 
    <tr><td>Title</td></tr> 
    <tr><td class="fig" runat="server" ID="cell1"></td></tr> 
    <tr><td>Title</td></tr> 
    <tr><td class="fig" runat="server" ID="cell2"></td></tr> 
    <tr><td><a href="#financeDetail36" role="button" class="btn" data-toggle="modal">Launch Finance Details</a></td></tr> 
</table> 
</div> 

现在在后台代码,你可以通过小区1和小区2来访问你的细胞,你可以通过cell1.InnerHtml属性更改自己内心的HTML。 您可以创建在隐藏文件代码公共属性来访问这些细胞从页面:

public string Cell1Text 
{ 
    get 
    { 
     return cell1.InnterHtml; 
    } 
    set 
    { 
     cell1.InnterHtml = value; 
    } 
} 

然后你就可以将网页上的Web用户的控制。 你可以阅读更多关于此这里: http://weblogs.asp.net/scottgu/archive/2006/11/26/tip-trick-how-to-register-user-controls-and-custom-controls-in-web-config.aspx

最后,你将能够通过这段代码访问和修改控件的属性: myUserControlName.Cell1Text =“新文本”;

+0

嗨伊霍尔,谢谢。除了最后一部分之外,我已经了解和实现了所有的一切,关于从添加了控件的e页面的.cs页面编辑Cell1。 – wilsonlego

+0

'myUserControlName.Cell1Text =“NEW TEXT”;'进入添加了控件的.aspx文件的Page_Load? – wilsonlego

+0

嗯,这取决于你的逻辑。是的,您可以将它分配给Page_Load,但请阅读有关ASP.NET页面生命周期的更多信息。 http://msdn.microsoft.com/en-us/library/ms178472(v=vs.100).aspx –