2013-06-21 25 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 –