在下面代码中可传一个值,但如何传多个值:
DataNavigateUrlField="DeptID" DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}" DataTextField="DeptID" SortExpression="DeptID" HeaderText="班级名称"
是否可以(见Name)
DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}&Name={1}"
当然可以阿,毋庸置疑。不过你为什么要加{},想不明白,直接0,1多省事阿
LeaveWordDeptQuery.aspx?DeptID=111&Name=test&other=teste&....
关注!
是否可以(见Name)
DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}&Name={1}"
我的回答是:不可以这样传一个以上的参数,除非
DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}&Name=aaaa"
要满足你的要求就必须要构造模板列,这样无论多少都可以了
传递多个值有2中方法:
1。javascrit: window.open(aaa.aspx?.......)
2.<a href="a.aspx.....">e.item.cells[4].text.tostring()</a>
DataNavigateUrlField="DeptID" DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}" DataTextField="DeptID" SortExpression="DeptID" HeaderText="班级名称"
是否可以(见Name)
DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}&Name={1}"
以上
DataNavigateUrlField="DeptID" DataNavigateUrlFormatString="LeaveWordDeptQuery.aspx?DeptID={0}"
改为:
DataNavigateUrl="LeaveWordDeptQuery.aspx?DeptID=<%# DataBinder.Eval(Container.DataItem,"DeptID")%>&Name=<%# DataBinder.Eval(Container.DataItem,"DeptName")%>"
其中DeptID,DeptName为你的字段名
gz
我认为在DataGrid中如果传递两个或两个以上的值最好不用HyperLinkColumn,在<clumns>中用<asp:TemplateColumn runat="server">其实更方便。下面是我的一段代码:
<asp:DataGrid id="MyDataGrid" runat="server"
AllowPaging="True"
PageSize="12"
Width="95%"
CellPadding="3"
ItemStyle-ForeColor="#000000"
AutoGenerateColumns="false">
<columns>
<asp:TemplateColumn runat="server">
<itemtemplate>
· <a href= onClick=return f_open1("<%#DataBinder.Eval(Container.DataItem,"filename")%>")><%# DataBinder.Eval(Container.DataItem,"title") %></a> </itemtemplate>
</asp:TemplateColumn>
</columns>
</asp:DataGrid>
不过呢。要注意是的:
在用HTTP方式提交的时候,最好是把要传输的变量用"Server.UrlEnCode"一下。
这样可以保证数据的完整性,我就出现过这样的问题,为了保险期间,还是用一下为妙。
例:
原题:
<a href=shows.aspx?id=<%#DataBinder.Eval(Container.DataItem,"ID")%>&BigClass=<%#DataBinder.Eval(Container.DataItem,"大类别")%>>链接字段</a>
把里面的“DataBinder.Eval(Container.DataItem,"filename")”用Server.UrlEnCode编码器包起来,传到另一个页面时再用Server.UrlDeCode进行解码后,再传到另外的变量。
改过后:
<a href="shows.aspx?id=<%#Server.UrlEnCode(DataBind.Eval(Container.DataItem,"ID"))#>&BigClass=<%#Server.UrlEnCode(DataBind.Eval(Container.DataItem,"大类别")%>">链接字段</a>
在其接收页面里可以这么写:
Dim ID As Integer
ID=Server.UrlDeCode(Request.Querystring("ID"))
就可以了,已写得很清楚了,不需要再说了吧···经验之谈。
---------------------------------------------------------------------------
您永远的朋友:Oldjacky
2003-4-24 下