網站開發中,在頁面之間的跳轉,經常會用到傳值,其中可能會傳遞多個值。
一、CommadArgument傳多個值到其他頁面。
像Gridview dataList repeater等資料繫結控制項中,可以使用CommadArgument傳多個值。
源的代碼(aspx頁面代碼)如下:這個代碼一般寫在項目範本中,如果你用的第一種方法就不需要加上onclick事件,直接點擊資料繫結控制項的RowCommand ,itemCommand事件,就行了。
複製代碼 代碼如下:
<asp:ImageButton ID="editImageButton" runat="server" ImageUrl="~/images/bt_edit.gif" CommandArgument='<%#Eval("dict_id")+","+Eval("dict_type")%>' onclick="editImageButton_Click" Height="20" Width="20" />
方法1,如果你用的GridView 控制項,找到RowCommand事件雙擊,用的dataList,repeater控制項就找到ItemCommand事件雙擊,後台代碼如下:
複製代碼 代碼如下:
object[] arg=e.CommandArgument.ToString().split(','); //注意是單引號
string arg0=arg[0].ToString();
string arg1=arg[1].ToString();
方法2,在項目範本中放入LinkButton控制項。這個比較常用,自己動手給這個控制項加上onClick事件。其後台代碼如下:
複製代碼 代碼如下:
LinkButton lbt=(LinkButton)sender;
object[] arg=lbt.CommandArgument.ToString.split(',');
string arg0=arg[0].ToString();
string arg1=arg[1].ToString();
二、用超連結傳值,也是一種常用的方法
前台代碼:
複製代碼 代碼如下:
<a href="Default.aspx?id=<%#Eval("dict_id")%>&type=<%#Eval("dict_type")%>">跳到Default.aspx頁面</a>
後台:
複製代碼 代碼如下:
string strDict_id = Request.QueryString["dict_id"];
string strDict_type= Request.QueryString["dict_type"];