2011-03-11 51 views
0

我設計一種等級制度,具體如下:在ImageButton控件中傳遞多個命令參數?

合同
主商品
商品
分商品
部分

它們中的每一個都是自己的頁面上(對於現在)。用戶從Contract.aspx頁面開始。如果他們想要查看Master Commodities目前所在的合同,他們將點擊我設置的「ImageButton」,然後作爲命令參數傳入ContractID(CommandArgument='<%# Eval("ContractID")%>')。這很有效 - 我進入我的商品主頁面,通過我通過的合同ID過濾了商品主商品。

這是我的問題:從商品主頁導航到商品頁面(我認爲)需要通過合同ID(所以我們只需看看我們所在合同的內容)和主商品編號(所以我們只看到與商品相關的商品)。我試過以下內容:

CommandArgument='<%# Eval("ContractID") + ',' + Eval("MComID")%>',但正如您可能預料的那樣,這是行不通的。如果我可以做一些像上面這樣的事情,並且有逗號這樣的分隔符,我可以從那裏開始工作。有什麼建議麼???

+3

「這不起作用」通常表示您的問題記錄不完整,需要更多詳細信息。 – 2011-03-11 14:27:45

+0

嗯,我只是在尋找任何解決方案來解決我面臨的問題。我想我清楚地描述了我的目標和意圖,但是我嘗試過的方法並不奏效。無論如何,我回答了我自己的問題。 – 2011-03-11 14:35:52

+1

通常情況下,如果您將車開到服務區並告訴他們您的右側轉向燈不會閃爍,那麼修理起來要比只告訴他們「我的車不起作用」要容易得多。我認爲[同樣應該適用於軟件相關的錯誤描述](http://www.chiark.greenend.org.uk/~sgtatham/bugs.html)。 – 2011-03-11 14:45:27

回答

0

我決定做的是改變我的ImageButton至「A HREF ...」,並以此作爲我的HREF:

<%# string.Format("./Commodity.aspx?contractId={0}&MComID={1}, Eval("ContractId"), Eval("MComID"))%> 

這樣我可以在我需要的所有信息傳遞。

0

一個建議是對你的代碼的方法後面,它返回一個良好格式的字符串

internal static string GetFormattedString(string sContractID, string sMcomID){ 
    return String.Format("{0},{1}", sContractID , sMcomID); 
}

然後你可以Eval此功能在你的控制。通過這種方式,您可以在代碼中保留格式化邏輯,並且只需在其中修改它。如果信息在前端代碼的不同控件(鏈接)中使用,這是一個很好的做法。

2

麥克,

借貸形成自己的建議的解決方案,你也許會把你的ImageButton和使用下列內容:

<%# string.Format("{0},{1}",Eval("value1"),Eval("value2"))%> 

天色已晚,但認爲值得評論別人這個線程以下。

Paul。

+0

這段代碼工作得很好。我在我的代碼中的很多地方使用過它! – Shiva 2013-09-12 14:12:44